问题标签 [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 投票
2 回答
414 浏览

android - Android Koin,如何使用两个数据源制作存储库?

我正在尝试使用 Koin 制作一个 Android 玩具项目。

我的项目有一个存储库和两个数据源(远程/缓存)。

以下是数据源:

这是存储库:

所以...我正在编写 appModule 代码,例如:

和...

我也试过下面的代码......:

但我不知道我该怎么做?

0 投票
1 回答
2031 浏览

kotlin - 如何在使用注入参数时检查 Koin 模块?

我想使用这里解释的checkModules()方法来检查我的配置。koin-test

但是,我正在使用注入参数并且我的测试失败并出现异常:

这是一个简单的测试来证明这个问题:

有没有办法使这项工作?我怎样才能提供缺少的参数?

0 投票
1 回答
1812 浏览

android - 如何使用 Koin 管理用户范围?

我正在尝试使用 Koin 创建用户范围。当用户登录时,我正在创建范围:

当用户点击注销时,我正在破坏范围

在我的 koin 模块中,我有一个scopedUserRepository,它应该只在用户会话期间存在。我还有使用此存储库的 ViewModel 和用例,我尝试将存储库注入scoped其中

在第一次登录时,它工作正常,我在我的视图模型和用例中注入了我的用户存储库。但是在注销(正在删除范围)和再次登录之后,UserRepository 实例仍然完全相同。

我错过了范围使用中的某些内容吗?

0 投票
2 回答
1410 浏览

android-viewmodel - Koin:如何在 WorkManager 中注入 sharedViewModel?

我想在 WorkManager 中注入共享 viewModel。但

没有解决。

任何建议表示赞赏。

0 投票
2 回答
5108 浏览

android - 如何使用 koin 依赖库在模块中注入活动上下文

我有一个如下的 Util 模块,它需要活动上下文 [不是应用程序上下文] 来执行它的一些功能。

如何将活动上下文注入其中?

0 投票
1 回答
1576 浏览

android - koin 将 CoroutineScope 作为 RoomDatabaseCallback 的依赖项传递

我有一个需要 CoroutineScope 进行初始化的数据库。

如何将模块中的 ViewModel 作为 CoroutineScope 传递?

这个例子来自 https://github.com/googlecodelabs/android-room-with-a-view/blob/kotlin/app/src/main/java/com/example/android/roomwordssample/WordRoomDatabase.kt 他们初始化数据库ViewModel 但我不能这样做。我必须初始化 throw Koin Dependency Injection 我花了两天时间尝试和试验,但没有任何成功。

0 投票
1 回答
216 浏览

android - 带有 DI 工具的 findNavController

我有一个使用导航组件的活动和多个片段样式的应用程序。

我正在为我的 DI 使用 Koin。我想根据干净架构的假设在我的应用程序中创建一个导航器类。

这个假设的类看起来像:

我现在的问题是我应该如何在 Koin 容器下创建它?

此外,Koin 组件会在 navhostfragment 准备好之前准备好,因此它一开始就无法满足依赖关系。

有没有办法为 Koin 提供一个类的实例,然后开始使用它?

0 投票
4 回答
14192 浏览

android - 使用 Android Navigation 将数据传回上一个片段

我已经开始使用 Android 架构组件(导航和安全参数、视图模型)以及 Koin 库。

目前,我在两个片段之间传递参数时遇到问题 - 我需要将字符串值从片段 A 传递给片段 B,在片段 B 中修改该值并将其传递回片段 A。

我找到了解决我的问题的一种可能方法——共享视图模型。不幸的是,这种方法有一个问题,因为我可以在屏幕之间传递和修改值,但是当片段 A 导航到另一个目的地时,共享视图模型中的值仍然被存储并且没有被清除。

在 Android Navigation 中的 Fragment 之间传递和修改数据有什么不同的解决方案吗?我想避免手动清除这个值(当片段 A 被破坏时)。

0 投票
1 回答
442 浏览

kotlin - KotlinPoet - 生成 Koin 模块

我是 KotlinPoet 的新手,我找不到如何创建以下 Koin 模块语句:

直接进入 Kotlin 文件(无包装类)

我一直在玩 PropertySpec 和 CodeBlock,但我不知道如何导入 Koin DSL 或如何在代码生成中引用那些导入的类。我也无法通过纯字符串生成来生成代码。

0 投票
1 回答
6009 浏览

android - 如何在 Kotlin 中使用 Koin 注入 ViewModel?

我们如何使用 Koin 注入具有依赖关系的 ViewModel?

所以例如我有一个ViewModel这样的:

现在这里的官方文档指出,要提供 aViewModel我们可以执行以下操作:

然后注入它,我们可以这样做:

对我来说令人困惑的部分是,通常你需要一个ViewModelFactory提供ViewModel依赖项。这里在哪里ViewModelFactory?它不再需要了吗?