org.koin.android.ext.android 中定义的 xxxClass

xxxClass defined in org.koin.android.ext.android

同样的class如果在一个activity中使用get()或者inject()可以依赖注入,但是如果在activity中没有使用,它注入的时候会报错。为什么?

错误:

未解决的参考。由于接收器类型不匹配,以下候选 None 是适用的: public inline fun ComponentCallbacks.get(qualifier: Qualifier? = ..., noinline parameters: ParametersDefinition? /* = (() -> DefinitionParameters)? */ = ...): xxClass defined in org.koin.android.ext.android

为了能够在您的 类 中注入 Koin 对象,您需要实现 KoinComponent 接口 (see documentation here)

您可以在 Activities 和 Fragments 中直接使用 by inject()get() 而无需实现 KoinComponent 的原因是因为 Koin 会自动为您完成!它利用了扩展函数的力量,因此它们被认为是一个 KoinComponent。