Simplified Single-Activity Apps Using Simple-Stack
summary
Single-activity navigation implementation called Simple-Stack (in development since 2017) stores navigation as a back stack as list of keys, keeps the backstack in the activity retained scope so state survives config changes and process death, and drives fragments with a default fragment state changer that adds/detaches instead of using the FragmentManager backstack. It provides scoping via a service binder, supports Compose with an async state changer, and claims reliability backed by 280 unit tests and real-world use.
AI-written summary · about
chapters (20)
- 0:00Start
- 8:24Jetpack Navigation way cont'd
- 9:39Asymmetric navigation with Activities (the old way)
- 10:23Asymmetric navigation with Jetpack Navigation
- 15:00How Simple-Stack handles navigation
- 16:10Simple-Stack basics
- 20:35Customizing transitions
- 24:47Activities (the old way: singletons)
- 27:46How Simple-Stack handles scoping
- 28:58How you actually use it
- 31:52Result passing the simplest way: using implicit scopes
- 33:05Result passing hidden via interfaces
- 34:43Possibility: Dagger map-multibinding
- 35:24Global services
- 35:54Scoped service lifecycle callbacks
- 37:17What about process death?
- 38:02Navigation & Scoping
- 39:16Jetpack Compose 101
- 41:58Jetpack Navigation's Navigation- Compose
- 43:58Simple-Stack Compose Integration
related talks
42mRoad to Single Activity
26mSingle activity navigation so simple even I can understand it
39mSingle activity: Why, when, and how
37mSingle Activity by Example
36mNavigation and the Single Activity: Learnings from a Skeptic
42mHow We Built Our SingleState Navigation Framework on Android
06m10 best practices for moving to a single activity
46mModern Android: How to ditch Activities and Fragments
