小编Muh*_*utt的帖子

如何使用 insert-koin 在内容提供程序中注入数据存储库实例

面临的问题在 AppModule 中插入 ContentProvider。

\n\n

我的应用程序级别模块是

\n\n
module {\n        single { TinyDB.getInstance(get()) }\n        single { DataRepository(get()) }\n        viewModel { HomeViewModel(get()) }\n    }\n
Run Code Online (Sandbox Code Playgroud)\n\n

我不知道如何在模块中使用 ContentProvider

\n\n

我已经尝试过代码

\n\n
val dataRepo = inject(DataRepository::class.java) \n
Run Code Online (Sandbox Code Playgroud)\n\n

这在我的内容提供程序中,但在此之后我的应用程序启动崩溃\n并且 logcat 显示错误按摩

\n\n
    java.lang.RuntimeException: Unable to get provider wastickerapps.newemojistickers.stickersforwhatsapp.whatsappUsages.StickerContentProvider: java.lang.IllegalStateException: StandAloneContext Koin instance is null\n        at android.app.ActivityThread.installProvider(ActivityThread.java:5562)\n        at android.app.ActivityThread.installContentProviders(ActivityThread.java:5154)\n        at android.app.ActivityThread.handleBindApplication(ActivityThread.java:5094)\n        at android.app.ActivityThread.access$1600(ActivityThread.java:177)\n        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1509)\n        at android.os.Handler.dispatchMessage(Handler.java:102)\n        at android.os.Looper.loop(Looper.java:145)\n        at android.app.ActivityThread.main(ActivityThread.java:5942)\n        at java.lang.reflect.Method.invoke(Native Method)\n        at java.lang.reflect.Method.invoke(Method.java:372)\n        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1399)\n        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1194)\n     Caused by: java.lang.IllegalStateException: StandAloneContext Koin …
Run Code Online (Sandbox Code Playgroud)

android dependency-injection android-contentprovider koin

4
推荐指数
1
解决办法
1826
查看次数