Skip to content

eminuluyol/ModernAndroidDevelopmentKata

Repository files navigation

Modern Android Development Kata Roadmap

  • Introduce Navigation Architecture Component and orchestrate the in-app navigation by using it
  • Introduce Kotlin Coroutine Channels and expose the API response via LiveData
  • Introduce Paging library and use it for pagination
  • Introduce MotionLayout and apply some nice animations on DetailPage
  • Use Room DB for the FavouriteScreen and persist the data
  • Write unit tests for the existing classes
  • Write espresso tests for the existing classes
  • Introduce the latest UI elements from Android Material Design library and do some cosmetic on existing screens
  • Apply some meaningful animations and share the best practice knowledge
  • Try to find the best practices for tracking
  • Use Firebase for Machine Learning
  • Try to extract business logic to Kotlin Native classes

Navigation Architecture Component

Multi-backstack

Each tab has a separate NavHost with own backstack.

Multi-module

  • Each gradle feature module holds its nav subgraph that is included into the main navgraph located the app module
  • Feature modules send navigation commands via an interface
  • The app module implements this interface, maps navigation commands to global actions in the nav graph and executes them using NavController
  • Module's fragments are internal and not exposed
  • Feature modules do not depend on each other, only on the core module
  • Module's fragments can use generated SafeArgs, because they own their nav subgraphs

About

Life is short birds are flying

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages