问题标签 [koin]
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.
android - 如何在 Koin 的检测测试中注入使用 androidContext 的类?
我的一个类具有 Context 类型的依赖项。在将 Koin 添加到我的项目之前,我使用对我的 Application 类的硬依赖对其进行了初始化:
现在,我想使用 Koin 来注入这个依赖。这就是我定义模块的方式:
我在onCreate
我的 Application 类(用 Java 编写)的方法中启动 Koin:
我想用仪器测试而不是单元测试来测试这个类,因为我想使用真实的上下文而不是模拟。这是我的测试:
测试失败,但出现异常:
如果我像这样模拟上下文,我可以让它与单元测试一起工作:
我怎样才能使它作为一个具有真实上下文的仪器测试工作?
android - 具有多个声明的 Koin 范围?
根据这篇文章https://insert-koin.io/docs/1.0/getting-started/android-scope/我们可以为我们的对象创建范围。这是那里给出的一个例子。
我的问题是我们是否允许在每个范围内放置多个定义?我觉得我们不是。任何地方都没有例子表明这一点。
这行不通。我只能注入 AnotherThing() 而没有注入某些东西。
为什么 Koin 只允许每个范围有一个定义?
android - Koin Kotlin - 如何在 Activity 之外使用注入/获取
我目前正在尝试将Koin实现到我的 Android 应用程序中。它在我可以访问get()
或的活动中运行良好inject()
,但在这些类之外我无法使用它们。
例如,我有一个非常简单的类Device
,它只会创建用户设备的一个对象。我需要MyStorage
在那里获得参考。
但get()
在此类中不起作用,并且手动添加导入也无济于事。
我也看到了这个答案,https://stackoverflow.com/a/49629378/3106174,它有扩展KoinComponent
,但在这种情况下或我遇到的其他情况下不起作用,例如任何类之外的顶级函数。
任何提示将非常感谢。谢谢。
android - 尝试在 Kotlin Android 应用程序中测试 ViewModel 注入时出现 Koin NullPointerException
我正在尝试在测试中测试 ViewModel 是否已成功将存储库注入其中。但是,我得到了一个 NPE。该代码适用于实际应用程序,而不是测试。我认为它没有正确找到我的 ViewModel。
这是代码:
科恩日志:
NPE:
koin - KoinComponent 中的 Koin geProperty() 未解决
Koin 2.0.0-beta-1
我只能在 Appmodule 中获取属性(“SERVICE”)。在Activity、Fragment、ViewModel、Service中,不能使用getProperty。
测试版有什么变化吗?
java - 如何在kotlin koin中注入抽象类使用接口
我在 Abstract BaseActivity 中创建 Abstract BaseActivity 和 Abstract BaseActivity 实现接口 Navigator 和 Navigator 所有方法覆盖。
所以我的问题是如何在另一个活动中注入 Navigator 类?
像这样 : val navigator by inject<Navigator>()
android - Kotlin 1.0.2 房间数据库
我正在使用 koin 1.0.2 来管理依赖项注入,但它不适用于房间数据库,它返回 can't create definition for single ... 这是我的代码:
spring - Koin中的Spring Application Context相当于什么
我是 Koin 和 Kotlin 的新手。我正在开发一个客户端/服务器应用程序(双方)。有几个豆子。有些应该为服务器和客户端进行不同的配置,有些可以在两者中进行类似的配置。其实我有两个问题:
- 在 Spring 术语中,我想定义两个不同的应用程序上下文,每个上下文都带有一组必要的 bean。我认为在单个 JVM 中运行客户端和服务器时,即使服务器和客户端中的类似 bean 也应该是不同的实例(出于测试目的)
- 我想知道 Koin 中的 spring 应用程序上下文的等价物是什么?
android - Android Koin NoBeanDefFoundException 仅在应用程序的发布版本中
在 Debug 版本中它工作正常,但在 Release 版本中失败。我想这与 Proguard 规则有关。
模块:
类定义:
Koin 初始化:
保护规则:
堆栈跟踪: