~/talk

Navigation in multi-module projects, and the problem with AndroidX Navigation

Talkat droidcon APAC 2020 · 2020-12-14..12-15· [android, frontend-architecture]
name:Isaac Udy
links:none on file
slides:none on file

AndroidX Navigation works but breaks down in true multi‑module apps because destinations (fragments) own their input contracts, forcing workarounds. The video compares three concrete strategies: deep links (only simple URI‑serializable args, brittle refactors), shared resource IDs (lose SafeArgs type safety), and a bottom graph (lets SafeArgs work but creates a giant fragile central XML). Alternatives shown and demoed include activity result contracts, navigator interfaces, handwritten SafeArgs, and the third‑party library Enro which the author provides as a working solution.

AI-written summary · about

  1. 0:00Introduction
  2. 1:12What are multi-module projects
  3. 5:47Why navigation matters in multi-module
  4. 8:33AndroidX Navigation overview
  5. 10:19Deep link approach in multi-module
  6. 13:56Shared resource IDs approach
  7. 17:34Bottom graph approach
  8. 21:29Problems with AndroidX Navigation
  9. 24:59Contract-first navigation concept
  10. 26:44Activity result contracts solution
  11. 28:11Navigator interfaces solution
  12. 29:37Handwritten Safe Args solution
  13. 31:02Third-party navigation libraries
  14. 32:08Summary and recommendations
  15. 32:50Q&A session
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.