Barebones sample project demonstrating use of Coil, Koin, Ktor, Kotlin Coroutines, as well as a few Android Jetpack Libraries like Navigation Components, View Model, Live Data, View Binding, Data Binding, all through a single-activity, MVVM architecture.
Shared element transitions provide visual polish to the master/detail transitions.
An image loading library for Android backed by Kotlin Coroutines.
A smart Kotlin injection library to keep you focused on your app, not on your tools .
Create asynchronous client and server applications. Anything from microservices to multiplatform HTTP client apps in a simple way.
Coroutines help to manage long-running tasks that might otherwise block the main thread and cause your app to become unresponsive.
Android Jetpack's Navigation Component helps you implement navigation, from simple button clicks to more complex patterns, such as app bars and the navigation drawer.
The ViewModel
class is designed to store and manage UI-related data in a lifecycle conscious way. The ViewModel
class allows data to survive configuration changes such as screen rotations.
LiveData
is an observable data holder class. Unlike a regular observable, LiveData is lifecycle-aware, meaning it respects the lifecycle of other app components, such as activities, fragments, or services. This awareness ensures LiveData only updates app component observers that are in an active lifecycle state.
ViewBinding
is a feature that allows you to more easily write code that interacts with views.
The Data Binding Library is a support library that allows you to bind UI components in your layouts to data sources in your app using a declarative format rather than programmatically.