Недавно я начал изучать внедрение зависимостей kodein здесь, я пытаюсь загрузить данные в ArrayList, а затем внедрить этот ArrayList в желаемый сервис или действие, однако я не могу это сделать, и, сталкиваясь со сбоями во время выполнения, любые рекомендации будут оценены.!
Мой класс обслуживания:
class NotificationAccessibilityService() : AccessibilityService(),KodeinAware {
override val kodein: Kodein = Kodein.lazy{
import(AppModules().appModule(applicationContext))
}
val logger by instance<Logger>()
fun insertdata(){
//trying to insert data into arraylist
logger.list = ArrayList()
logger.list.add(mNodeInfo)
}
}
Класс AppModules:
class AppModules() {
fun appModule(context:Context) = Kodein.Module{
bind<Logger>() with singleton { AndroidLogger() }
}
}
Интерфейс регистратора:
interface Logger {
var list:ArrayList<AccessibilityNodeInfo>
}
Класс регистратора:
class AndroidLogger() : Logger {
override var list: ArrayList<AccessibilityNodeInfo>
get() = TODO("not implemented")
set(value) {}
}
В своей Деятельности я расширяю kodeinaware, а затем пытаюсь получить доступ к этому ArrayList из kodein, однако приложение падает:
class NormalCopy : AppCompatActivity(),KodeinAware {
override val kodein: Kodein by closestKodein()
val logger by kodein.instance<Logger>()
var accesslist = logger.list
}