A Test App Featuring MVVM,Hilt,Remote Mediator,Room,Navigation Component,Retrofit
- 100% Kotlin based, Coroutines + Flow for asynchronous.
- JetPack🚀
- ViewBinding - View binding is a feature that allows you to more easily write code that interacts with views.
- LiveData With Flow - notify domain layer data to views.
- Lifecycle - dispose of observing data when lifecycle state changes.
- ViewModel - UI related data holder, lifecycle aware.
- Hilt - To simplify Dagger-related infrastructure for Android apps.
- Room - Room is an ORM, Object Relational Mapping library.
- Retrofit2 & OkHttp3 - construct the REST APIs and paging network data.
- Gson - Gson is a Java library that can be used to convert Java Objects into their JSON representation.
- okhttp-logging-interceptor - logs HTTP request and response data.
- kotlinx.coroutines - Library Support for coroutines,provides
runBlocking
coroutine builder used in tests for Android.
- MVVM Architecture (View - ViewBinding - ViewModel - Model)
- Repository pattern
-A RemoteMediator implementation helps load paged data from the network into the database, but doesn't load data directly into the UI. Instead, the app uses the database as a single source of truth. In other words, the app only displays data that has been cached in the database. A PagingSource implementation (for example, one generated by Room) handles loading cached data from the database into the UI.
Thanks To Mich For ConnectionLiveData.kt class (Customised)