This is the app that follows all principles of Android Development Culture described here.
What does it have:
- CI (Travis)
- Unit tests (some under Robolectric, some are under plain JUnit runner with mocked
android.jar
). - Integration tests to see that Http, REST, JSON parsing and RxJava work good in composition.
- Functional (UI) tests (Espresso with custom rules, mocked server and Screen-architecure) to check that app works according to the expectations.
- Static code analysis (FindBugs, PMD, Android Lint, Checkstyle) (see root
build.gradle
). - Code coverage (currently in process of fighting with jacoco-coverage plugin to fail the build if coverage is not big enough).
- Developer Settings Menu where you can enable/disable Stetho, LeakCanary, etc. See full list below (feel free to add more tools!).
- MVP, RxJava, Dagger 2, Retrofit 2 and so on.
You can download apk from the releases page.
Made with ❤️ by Artem Zinnatullin https://twitter.com/artem_zin.
To build the project run sh ci.sh
(yep, that easy, because it should be easy).
Screenshots:
####Developer Settings
- Stetho — inspect the app via Chromium Developer Tools (network requests, db, preferences and so on). Must have for developers.
- LeakCanary — detect memory leaks without IDE! Must have for QAs and developers.
- TinyDancer — see frame rate right on your screen. Must have for QAs and developers.