问题标签 [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.

0 投票
3 回答
2835 浏览

ktor - 如何在 Ktor 中使用自定义配置?

我正在挖掘内置的配置支持,并想使用它(而不是仅仅将我自己的与 Ktor 一起推出),但我很难弄清楚如何以一种干净的方式做到这一点。我有这个,它正在工作,但它真的很难看,我觉得必须有更好的方法:

谢谢你的帮助!

0 投票
3 回答
1973 浏览

android - 我可以管理生命周期所有者,用 Koin 注入 viewModel 吗?

我有单个 Activity 应用程序。

我想将 viewModel 绑定到父片段生命周期 ( FlowFragmentLogin),并与子片段 ( CellFragment, InfoFragment, etc) 共享它。所以当我从FlowFragmentLoginto移动时FlowFragmentMain, viewModelonCleared()被调用。

但我发现的唯一方法是在 Activity 之间共享 viewModel,它是 Fragments: https ://insert-koin.io/docs/1.0/documentation/koin-android/index.html

并且无法控制生命周期所有者。这对我来说是不可接受的,至少因为这个 viewModel 将一直存在到应用程序死亡。

0 投票
0 回答
339 浏览

android - Koin 在关闭后重新注入实例

我是 Koin 的新手,我正在创建一个对象实例并给它一个 ID 为 SESSION 的范围,所以在我关闭它之后。我希望在下次访问它时为其创建一个新实例。

所以现在当我注入一个实例时,我总是创建一个范围

现在,一段时间后我想重新创建我的 Object(inkDevice) 的新实例,所以我决定做 scope.close

但是在我关闭会话后,下次我访问它时它无法创建新实例。

0 投票
1 回答
635 浏览

android - Cannot find Symbol Class Error in kotlin Databinding with KOIN + Room in Android Studio 3.2.1 9 Oct, 2018 build

I was working on old android studio with gradle plugin 3.2.0 with KOIN and Room in MVVM Design Pattern.

Yesterday I had Updated my Android Studio to New Version 3.2.1, And after that when i am trying to compile my project I am getting Following Error.

error: cannot find symbol

protected TimeLineBind(DataBindingComponent _bindingComponent, View _root, int _localFieldCount,

  • I tried resolving by my Side and I have applied many solutions and also better one from Here but still i am unable to figure out the issue. I have tried migrating back to old Gradle 3.2.0 - i was working on, But still facing the same error.

  • I have also tried android.databinding.enableV2 = true solution,

but it didn't worked. I am wondering if anyone can help. I can update anything you want.

0 投票
1 回答
729 浏览

android - koin 默认实现,没有名称参考

我有 2 个改造客户端,其中一个是默认客户端,第二个具有不同的实现,例如(基本 URL、拦截器等...)

我需要在不使用名称引用的情况下注入默认客户端

第一个客户:-

第二个客户:-

我的注入方式

结果是:

为什么 Koin 在不提供默认名称 (Retrofit) 的情况下没有获得默认的 Retrofit 实例!?

0 投票
0 回答
112 浏览

android - 使用 Activity 在 Androidx 上进行 Koin 测试

在将样板代码迁移到 AndroidX 后,我正在尝试对其进行一些检测测试。请注意,在迁移之前,它们都有效,但在只有单元测试有效之后,检测的测试在 Null Pointer 异常上崩溃,它不应该。

这是错误:

如您所见,在这种情况下,它在我的“UseCase”声明中,获取bufferoos。作为参考,这是失败的类:

获取缓冲区

可流动的用例

这是失败的测试

活动测试

这是 koin 的 modules.kt

模块

0 投票
0 回答
107 浏览

android - Koin 测试 - DependencyResolutionException

我有多个测试类,每个类都有多个测试。在每个类中,我都想确保为每个测试获得新的测试依赖项。所以我准备我的测试是这样的:

当我只运行该特定测试类中的测试时,它工作得很好。

但是,当我同时运行所有测试时,如果多个测试类在其模块中具有相同的依赖项,我会收到如下异常:

所以我通过简单地stopKoin()在我的关闭方法结束时调用来解决这个问题。

到目前为止,我还没有注意到我的测试运行速度要慢得多。所以基本上我的问题是:这是在我的测试中使用 Koin 的首选方式吗?我错过了什么或没有正确使用 Koin 吗?

我意识到这更像是一个代码审查/建议问题,而不是一个真正的问题,但我认为这对其他人可能仍然有用。

谢谢

0 投票
1 回答
1386 浏览

android - Kotlin延迟加载在Junit测试中不起作用

嗨,我正在尝试使用 kotlin koin 将变量加载/注入到我的单元测试中,但它没有这样做,并且当我尝试使用变量时出现 no class def found 错误。

下面是我的模块:

这是我的测试课

当 koin 尝试获取注入的值时,我得到的错误是

我什至尝试了这里的示例https://insert-koin.io/docs/1.0/quick-references/koin-test/

没有喜悦,同样的错误

0 投票
0 回答
121 浏览

kotlin - Koin - 有没有办法将具有默认构造函数的类添加到带有一些注释的 Koin 模块?

是否可以使用一些注释在运行时将一些具有默认构造函数的类添加到 Koin 模块?我知道 Koin 不使用反射,这很好,但在很多情况下,我只想将具有默认构造函数的类作为单例添加到 Koin 模块。如果可以使用一些注释来完成,那就太好了。

我尝试使用反射并找到所有带有特定注释的类,并使用如下所示的绑定将每个 clazz 添加到 Koin 模块:

但它不适用。由于clazz.newInstance()返回Any且不匹配clazz类型。

0 投票
4 回答
752 浏览

android - 使用 Koin 库时无法导入 ViewModel

之后,使用无效缓存重新启动 Android Studio,并清理 + 重建构建,我仍然无法从库中导入ViewModel类。Koin甚至强制手动import org.koin.android.viewmodel.ext.android.viewModel导入。

在此处输入图像描述

应用程序/构建.gradle

有同样问题的人吗?