Clean architecture is what developers strike for in any platform development. In recent years, there are many attempts to make clean architecture in Android a thing for reusable code and easy test-ability. That’s a good sign for Android development community and there have been many good tutorials and templates to learn from.
This article is a step-by-step introduction to MVP on Android. It shows both simple examples and advanced ones with best practices.
This project, created by google employees showcases a basic Model‑View‑Presenter architecture. The result will be a to-do app with basic features, including tasks list, task detail, task adding/editing, and statistics. This todo-mvp project uses the following dependencies: Common Android support libraries, Android Testing Support Library, Mockito, and Guava.
This is an boilerplate template ribot use as a reference for new Android projects. You can see how they integrate popular libraries: Support libraries, RecyclerViews and CardViews, RxJava and RxAndroid, Retrofit 2, Dagger 2, SqlBrite, Butterknife, Timber, Glide, AutoValue with extensions AutoValueParcel and AutoValueGson, Functional tests with Espresso, Robolectric, Mockito, and Checkstyle, PMD and Findbugs for code analysis.
Exchange Rates (MVVM)
This is an currency exchanging app which incorporates MVVM, data binding, RxJava2, Dagger2 and clean architecture approach.
Android starter (MVP)
Android starter is a MVP project with support of Dagger2, RxJava2, Robolectric, Espresso, and Mockito. It provides a generator to quickly create a Android template project.