2. Implement Dependency Injection (DI) with Koin

--

Add koin dependencies for Android in …/gradle/libs.versions.toml:

[versions]
...
koin-bom = "3.5.6"
[libraries]
...
#koin dependencies
koin-bom = { module = "io.insert-koin:koin-bom", version.ref = "koin-bom" }
koin-core = { module = "io.insert-koin:koin-core" }
koin-android = { module = "io.insert-koin:koin-android" }
koin-androidx-compose = { module = "io.insert-koin:koin-androidx-compose" }

and in …/androidApp/build.gradle.kts

dependencies {
...
// koin dependencies
implementation(platform(libs.koin.bom))
implementation(libs.koin.core)
implementation(libs.koin.android)
implementation(libs.koin.androidx.compose)
}

Create koin module file …/di/AppModule.kt:

val appModule = module {
}

And /MyApplication.kt:

class MyApplication : Application() {
override fun onCreate() {
super.onCreate()
startKoin {
androidContext(this@MyApplication)
modules(appModule)
}
}
}

Don’t forget to add it to AndroidManifest.xml:

...    
<application
...
android:name=".MyApplication"
...
</application>
...

Hint: Checkout 01-dependency-injection-koin branch

Unlisted

--

--