A playground for MVVM style architecture on Android
This architecture relies heavily on android databinding, but requires nothing else not provided by the framework. You split up you app into the following components:
Holds are your data and buisness logic. You shouldn't need any of the android fragmework for this.
Includes your layout files and any custom views you need to create. Have a very simple lifecycle of being created and destroyed on configuration changes. You use databinding to connect this to your view model.
Includes are the logic to display your models and respond to user events. These have the same lifecycle of views.
These obtain and store your data, often asynchrnously, but don't care about Android's lifecycle.
Used to coordinate the above components and deal with lifecycle events. May use loaders to get data from the api into the view model. Be careful with these, as soon as you need to do anything more complex than simple coordination, move it into it's own class.