This sample project is intended to illustrate best practices in Android development. The project implementation includes the following patterns, frameworks and libraries: MVP (presentation layer), DI (Dagger2), RxJava+RxAndroid, Retrofit, unit tests (JUnit+mockito) and others.
A step by step implementation of each architecture concept can be found in the following branches:
- simple-mvp/ - basic Model-View-Presenter architecture;
- restapi-retrofit/ - simple-mvp with a REST API example (Retrofit);
- feature-rxjava/ - restapi-retrofit with RxJava;
- feature-dagger2/ - dependency injection implementation example using Dagger2;
- other new architecture concepts will be coming soon.
This work was inspired by many projects, including the following:
- Android-CleanArchitecture by @android10
- Android-Boilerplate by @hitherejoe
- qualitymatters by @artem-zinnatullin