首先什么是KOIN?
适用于 Kotlin 开发人员的实用轻量级依赖注入框架。 用纯 Kotlin 编写,仅使用功能分辨率:无代理,无代码生成,无反射。
PS:KOIN 支持 Kotion 和 Java
Koin 怎么配置?
本文主要讲解 Koin (2.0.1) 在AndroidX中的使用,所以直接添加 koin-android 依赖
首先添加 Koin Android 基本依赖
// Koin for Android
implementation "org.koin:koin-android:$koin_version"
如果需要使用到 Scope(范围) 控制,则依赖 koin-androidx-scope
// Koin AndroidX Scope features
implementation "org.koin:koin-androidx-scope:$koin_version"
如果项目中使用到ViewModel,那么毫不犹豫依赖 koin-androidx-viewmodel
// Koin AndroidX ViewModel features
implementation "org.koin:koin-androidx-viewmodel:$koin_version"
既然使用Kotlin,扩展功能怎么能少呢?添加 koin-androidx-ext
// Koin AndroidX Experimental features
implementation "org.koin:koin-androidx-ext:$koin_version"
Koin 怎么使用?
Koin 入门使用相当容易,学会下面几个关键词就 OK 了,跟着来看看哦~
factory
今天 Activity 需要一个 Girl(嗯~,可能是几个),那我们就创建个依赖对象使用 Koin 注入给它,这时我需要每次都给它个新的(使用factory):
val girlModule = module {
factory {
Girl()
}
}
依赖对象有了,我得让 Koin 知道,所以需要在我们的 Application 初始化:
override fun onCreate() {
super.o