This project illustrates my current set of Android best practices, tools, and solutions:
- 100% Kotlin
- Android MVVM architecture
- Android Jetpack
- Single-activity architecture, using the Navigation component
- Dependency Injection
- Data repository with 2 levels of caching (RAM + SQLite DB)
- Real-time vehicle location data provided by LA Metro
- MVVM architecture - Facilitates automated unit testing and improves separation of concerns between UI and business logic
- Data Repository - Manage data loading from RAM cache, local DB and remote REST API
- SQLdelight - SQL is the language of choice for defining and using the local SQLite DB
- Google Maps Android SDK
- Dagger 2 - A fast dependency injector for Java and Android
- Android Jetpack - A suite of libraries, tools, and guidance to help developers write high-quality apps more easily
- Material Design Components - Google's implementation of the latest Material Design Components
- Kotlin
- RxJava 2 - To run code on background threads
- Retrofit - A type-safe HTTP client for Android and Java
TBD
TBD