Android Architecture Kotlin + Dagger2 + Room + LiveData + Retrofit
This sample stands on the principles of Android Architecture.
It's based on the MVC sample, splitting the application in four layers:
UI Controller (Activities, Fragments & Custom views)
- Activities & Fragments
- Observes the ViewModel
- Keeps the UI up-to-date
- Forwards user Actions back to the ViewModel
- Prepares & keeps data for the UI
- Includes LiveData, Observables etc.
- Survives configuration changes
- The gateway for the UI Controller
- The complete data model from the App - Provides simple data modification & retrieval APIs
- Provides local or network sources for data
ViewModel concept makes application more flexible for support