В настоящее время я пытаюсь внедрить Koin в мое приложение для Android.Это хорошо работает в Деятельности, где я могу получить доступ к get()
или inject()
, но вне этих Классов я не могу их использовать.
Например, у меня есть очень простой класс, который называется Device
, которыйпросто создаст объект устройства пользователя.Мне нужно получить ссылку на MyStorage
внутри.
data class Device(
val username: String,
...
) {
companion object {
fun get(): Device {
val storage: MyStorage = get() // does not work
val username = storage.username
return Device(
username,
...
)
}
}
}
Но get()
не работает в этом классе, и ручное добавление импорта не поможет.
Iтакже видел этот ответ, https://stackoverflow.com/a/49629378/3106174,, который имеет расширение KoinComponent
, но это не работает в этом случае или других, с которыми я сталкивался, таких как функции верхнего уровня вне какого-либо класса.
Любые советы будут с благодарностью.Благодаря.