В настоящее время я пытаюсь внедрить Koin в свое приложение для Android. Он хорошо работает в Activity, где я могу получить доступ 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()
не работает в этом классе, и добавление импорта вручную не помогает.
Я также видел этот ответ, https://stackoverflow.com/a/49629378/3106174, который расширяет KoinComponent
, но это не работает в этом или других случаях, с которыми я сталкивался, например, функции верхнего уровня вне любого класса.
Будем признательны за любые советы. Спасибо.