Я пытаюсь внедрить Коин в свой проект. До сих пор я делал это:
Мой класс общих настроек:
class MPCUtilSharedPreference(private val sharedPreferences: SharedPreferences{}
Я хочу добавить этот класс в другие классы. Итак, я создаю свой класс MainApplication:
class MPCMainApplication : Application() {
override fun onCreate() {
super.onCreate()
startKoin {
androidContext(this@MPCMainApplication)
modules(modules)
}
}
}
Это мой класс модуля:
private val appModule = module {
single {
MPCUtilSharedPreference(
androidContext().getSharedPreferences(
BuildConfig.APP_PREFERENCE,
Context.MODE_PRIVATE
)
)
}
}
val modules = listOf(appModule)
И я пытаюсь ввести его:
class MPCNetworkInterceptor : Interceptor {
private val utilSharedPreferences: MPCUtilSharedPreference by inject() }
Ошибка говорит:
Не передано значение для параметра 'clazz *
Я пытаюсь использовать
import org.koin.android.ext.koin.androidContext
Но AS использует
import org.koin.java.KoinJavaComponent.inject
Это мой gradle:
implementation 'org.koin:koin-android:2.1.5'
implementation 'org.koin:koin-androidx-scope:2.1.5'
implementation 'org.koin:koin-androidx-viewmodel:2.1.5'
implementation 'org.koin:koin-androidx-fragment:2.1.5'
Есть идеи о том, в чем здесь проблема?