问题标签 [kodein]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
254 浏览

android - 如何使用 kodein 依赖注入将数组列表插入和注入任何服务或活动类?

最近我开始在这里学习 kodein 依赖注入我正在尝试将数据加载到 ArrayList 中,然后将该 ArrayList 注入到所需的服务或活动中,但是我无法做到这一点并且面临运行时崩溃任何指导将不胜感激。!

我的服务等级:

应用模块类:

记录仪接口:

记录器类:

在我的活动中,我正在扩展 kodeinaware,然后尝试从 kodein 访问该 ArrayList,但是应用程序崩溃了:

0 投票
0 回答
282 浏览

android - Kodein:在 FirebaseMessagingService 中检索绑定

我有一个应该处理所有通知并因此扩展 FirebaseMessagingService 的类:

在应用程序类中,我将所有内容绑定如下:

问题是,无论我尝试什么,我总是会遇到以下异常:

java.lang.NullPointerException:尝试在空对象引用上调用虚拟方法 'android.content.Context android.content.Context.getApplicationContext()'

我不明白,因为基于它应该可以访问上下文(我将应用程序文件放入清单中)。

我在 github 上找到了这个,但推广的解决方案并没有解决问题。

我可能对 DI 的工作原理有一个普遍的误解。

完整的堆栈跟踪如下:

0 投票
0 回答
758 浏览

android - 使用 Kodein 进行单元测试

我正在尝试在单元测试中测试我的改造类,我面临着将依赖项注入我的测试类的问题。我有 3 节课:

  • 服务类:改造接口
  • 使用 Room 的数据库类(需要应用程序上下文)
  • 使用服务和数据库构建的存储库

这是存储库代码:

这是我的测试课:

我收到以下错误:

0 投票
1 回答
1954 浏览

android - Android 在对象中传递上下文

我需要将应用程序上下文传递给一个对象。这是在我的连接服务okhttpClient中调用一个函数进行拦截。我正在使用对象类通过改造和与我的服务的外部接口来建立与服务器的连接。

下面的代码是我的界面:

我正在使用 mvvm 和 kodein。如果没有互联网拦截器,应用程序会在没有互联网时崩溃。 我的拦截器:

感谢您的关注

0 投票
1 回答
282 浏览

android - Kodein 和活动上下文讨论

我研究了这个示例repo以了解如何在 Android 应用程序中实现 Kodein。但是我对示例中活动案例中的上下文问题感到困惑。

这里的代码:

在这里,我们看到我们将活动的上下文添加到单例中。

但我也看到我们Kodein是按retainedKodein功能获得的。所以这个 Kodein 模块对旋转时的活动破坏免疫。但我不了解活动的上下文,因为单例持有上下文。

所以我问。Kodein 是否重新附加了活动的上下文?你能向我描述一下重新连接机制吗?因为这对我来说现在还不清楚。谢谢你们!:))

0 投票
1 回答
708 浏览

android - org.kodein.di.Kodein$NotFoundException:发现 2 个与 bind() 匹配的绑定

我有一个接口WordsDataSource,我使用它实现了两个具体的类,即WordsLocalDataSource处理本地数据库和另一个WordsRemoteDataSource处理在服务器上在线处理数据。问题是当我尝试使用抽象类名将两个类注入存储库类WordsDataSource

并在 Application 类中添加依赖项,例如

然后在运行应用程序时,我在 logcat 中遇到以下问题

我已经通过简单地通过它们各自的具体类名声明变量来尝试解决此问题,例如

但是还是想知道有没有办法解决这个问题。

我正在为 kodein 使用以下依赖项

0 投票
1 回答
118 浏览

kotlin - Kodein 内部的 NullPointerException

我正在用 Kodein 试用 Kotlin,在我目前的项目中,我在 Kodein 中获得了 NPE,但我不知道为什么。

我有一些数据类和匹配的存储库,它们提供了它们的列表:

这些存储库的实现当前由主类支持:

我为存储库创建了一个抽象基类:

因此存储库实现如下所示:

设置并运行:

导致 Kotlin 内部的 NPE:

我不清楚为什么会发生这种情况。它与使用“属性”映射lamba有关AnimalDataRepository,因为当我不使用它时它工作正常。

完整代码作为要点:https ://gist.github.com/RoToRa/65d664d2d7497ddbf851a1be019f631d

0 投票
1 回答
309 浏览

android - 将 Kodein 注入 WorkManager

我是 android 开发新手,我需要注入 WorkManager 以使用 kodein,但我不知道从哪里开始

这是注入活动的方法

这是我的工人,我需要获取 Appdatabase 的实例以使用 kodein,但它对我不起作用

绑定 AppDatabase

0 投票
2 回答
120 浏览

android - **bind() with** 和 **bind() from** 之间的 Android kodein 区别

在学习 kodein 时,我经常看到 bind() withbind() from

谁能告诉我有什么区别以及我们为什么要使用它。

前任:

0 投票
1 回答
664 浏览

android - 如何将带有 Firebase ID 令牌的改造服务注入 kodein

我正在尝试将改造服务注入kodien。API 服务使用 Firebase Auth 令牌进行身份验证。因此,我必须通过从 Firebase Auth.getInstance().getIdToken() 获取令牌来将请求标头中的 id 令牌作为基本身份验证传递,该令牌在 Task 回调中提供令牌。现在我面临的问题是我必须将令牌传递给 http 客户端请求拦截器。我不知道该怎么做。

我已经查看了一些Kotlin Coroutines示例以寻求解决方案。但是我是 Kotlin Coroutines 的新手,并不能学到很多东西。

这是我的 kodien 对象。

我的改装厂。

我可能完全错了,或者也许有更好的方法。

任何帮助表示赞赏。

提前致谢。