Effective Android
The Android SDK has changed much since its first version. Every new version comes with many new APIs. However, there is no perfect API, some do too much under the hood, others couple your classes to the context, others have more lifecycle events than you have years in your life.
This sample project shows how to apply MVP and Clean architecture on an Android app. Demo Video!
A brief explanation of both architectures
MVP
The mvp branch of this repo follows this architecture:
Clean
The clean branch of this repo follows this architecture: