Android Boilerplate
A simple boilerplate application which demonstrates the downloading, persisting and syncing of data - displayed with a common layout used amongst applications.
The project is setup using:
- Functional tests with Espresso
- Unit tests with Mockito and Robolectric
- RxJava and RxAndroid
- Retrofit and OkHttp
- Dagger 2
- Butterknife
- [Timber] (https://github.com/JakeWharton/timber)
- Mockito
- Glide
Requirements
- Android SDK.
- Android 6.0 (API 23) .
- Android SDK Tools
- Android SDK Build tools 23.0.2
- Android Support Repository
- Android Support library
Building
To build, install and run a debug version, run this from the root of the project:
./gradlew installRunDebug
Testing
For Android Studio to use syntax highlighting for Automated tests and Unit tests you must switch the Build Variant to the desired mode.
To run pmd, checkstyle and findbug checks on your machine:
./gradlew check
To run unit tests on your machine:
./gradlew testDebugUnitTest
To run automated tests on connected devices:
./gradlew connectedDebugAndroidTest
Thanks
Thanks to the following for contributions!
[ivacf] (https://github.com/ivacf)
[Jawnnypoo] (https://github.com/Jawnnypoo)
Attributions
Thanks to the following for use of icons off of Noun Project: