说明
Koin 是一个用于 Kotlin 的实用型轻量级依赖注入框架,采用纯 Kotlin 编写而成,仅使用功能解析,无代理、无代码生成、无反射。
Koin 是一个 DSL,一个轻便的容器和一个实用的 API。
创建一个kotlin 项目
添加koin
def koin_version = "3.2.1"
implementation "io.insert-koin:koin-core:$koin_version"
testImplementation "io.insert-koin:koin-test:$koin_version"
添加hello 代码
image.pngoverride fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
val helloModule = module {
singleOf(::HelloMessageData)
singleOf(::HelloServiceImpl) { bind<HelloService>() }
}
startKoin {
// use Koin logger
printLogger()
// declare modules
modules(helloModule)
}
App().sayHello()
}
数据来源
class HelloMessageData {
val message: String = "Hello Koin!"
}
打印
class HelloServiceImpl(private val helloMessageData: HelloMessageData) : HelloService {
override fun hello() = "Hey, ${helloMessageData.message}"
}
运行结果
image.png
demo two
Add KSP in your root Gradle config:
网友评论