What I Did to Migrate Navigation 2 to 3 (Planned)
summary
Describes migrating an Android app from Navigation 2 to Navigation 3 (alpha): Navigation 3 merges UI and navigation state, exposing a back stack as a MutableList of keys so entries are reused unless given unique content keys. Screens are composed using NavDisplay + EntryProvider + NavEntry and driven by Scene + SceneStrategy for adaptive layouts; per-entry saved state and ViewModel stores are provided by entry decorators (Hilt-compatible). Deep links require custom URL→key parsing, bottom sheets are implemented as overlay scenes, and prototypes work but need workarounds for key uniqueness and serializability.
AI-written summary · about
chapters (12)
- 0:00Introduction
- 1:47Navigation 3 basics
- 8:14Scene and strategy mechanics
- 15:41Dialog scenes and state
- 19:38Migration plan overview
- 23:46Nested graph migration
- 27:01Hilt integration
- 28:03Deep link handling
- 30:10Bottom sheet migration
- 31:55Navigation bar redesign
- 35:48Extension points
- 37:33Summary
related talks
41mNav2, Nav3… Or Roll Your Own? — Building to Understand Nav3’s Design Intent
41mNavigating Android Like a Pro
17mNavigation 3: The Good, the Bad, and the Hotfixed — A Production Story
39mNavigating the future with Jetpack Navigation 3
36mNavigating the future with Jetpack Navigation 3
36mNavigation and the Single Activity: Learnings from a Skeptic
38mNavigating the future with Jetpack Navigation 3
33mFinding Your Way Through the Navigation Framework
