About
Android Starter Kit was created as a way to save time when starting a new Android project. It is a simple native single-module app based on MVVM architecture with required and optional libraries (marked with //TODO Optional).
Libraries
- Android
- Architecture
- Dependency Injection
- Network
- UI
- Optional
Getting started
- Clone this project.
- Open in Android Studio.
- Sync Gradle.
- Change the git remote repository to a new project remote repository.
Additional functionality
Paging
To avoid a lot of boilerplate code when create DataSource was created PositionalNetworkStateDataSource. It is used in a pair with RetryListing and NetworkStateAdapter. More information about using in paging package.
Example of using in Repository:
fun getMessageListing(
viewModelScope: CoroutineScope,
pageSize: Int
): RetryListing<String> = PositionalNetworkStateFactory(viewModelScope) { startAt, limit ->
api.getMessages(startAt, limit)
}.createRetryListing(pageSize)