MVVM, Coroutine, RoomDB, Koin
A sample android app that shows how to use MVVM with Coroutine & Room database with the Koin dependencies injection, in Kotlin by “Clean Architecture”.
Gradle is convert to Kotlin, every build.gradle
are build.gradle.kts
The Goal is to get all the Audios from the device’s Provider and show it up.
The structure of this project with 3 layers:
// kotlin
implementation(Libs.Kotlin.stdlib)
implementation(Libs.Kotlinx.coroutineCore)
implementation(Libs.Kotlinx.coroutineAndroid)
// androidx
implementation(Libs.AndroidX.coreKtx)
implementation(Libs.AndroidX.appCompat)
implementation(Libs.AndroidX.constraintLayout)
implementation(Libs.AndroidX.media)
implementation(Libs.Google.material)
// koin
implementation(Libs.Koin.core)
implementation(Libs.Koin.android)
implementation(Libs.Koin.viewmodel)
implementation(Libs.Koin.architecture)
// room
implementation(Libs.Room.ktx)
implementation(Libs.Room.runtime)
kapt(Libs.Room.compiler)
// test
implementation(Libs.Test.junit)
implementation(Libs.Test.testng)