dagger-hilt相关内容

手柄视图模型注入到仪器测试中

我一直在搜索如何将ViewModel注入测试中,以便我可以对其进行测试。假设视图模型有一个带有某个业务逻辑交互程序的构造函数注入。我可以很容易地将它注射到碎片中,但在测试中没有成功。 @HiltAndroidTest class ViewModelTest val randomViewmodel: RandomViewmodel// now what ? since by viewMod ..
发布时间:2022-08-16 10:19:25 移动开发

如何才能使不同的状态具有不同的视图模型?

我正在制作一个应用程序,用户首先需要登录才能从后端获得许多不同的数据。(多个端点) 所以我有一个用于登录的视图模型,而我有许多用于所有其他数据的视图模型。 其他视图模型需要第一个视图模型中的令牌才能从后端获取数据。 我不知道如何才能做到这一点。 我在想,我可以在某种状态管理器中使用登录屏幕,它会将UI定向到正确的屏幕,如下所示 @ExperimentalCompose ..
发布时间:2022-04-16 10:18:27 移动开发

使用 Hilt 进行依赖注入时如何将运行时参数传递给 ViewModel 的构造函数?

我想知道在将 Hilt 用于 DI 时如何将运行时参数传递给 ViewModel 的构造函数?在使用 Hilt 之前,我有一个如下所示的 ViewModel: class ItemViewModel(private val itemId: Long) : ViewModel() {私有 val 仓库 = ItemRepository(itemId)}类 ItemViewModelFactory( ..

未找到 DefaultActivityViewModelFactory

将 Hilt 版本从 2.33-beta 迁移到 2.35 后,我的项目已停止构建并出现以下错误: 一个txt版本: 错误:无法访问 DefaultActivityViewModelFactory未找到 dagger.hilt.android.internal.lifecycle.DefaultActivityViewModelFactory 的类文件有关详细信息,请参阅以下堆栈跟踪.c ..
发布时间:2021-11-04 11:31:08 移动开发

如何使用 Hilt 模拟视图模型以进行单元测试片段?

我有一个使用 Hilt 进行依赖注入的 Android 应用设置,并且想对我的片段进行单元测试. 我目前正在使用以下方法创建我的视图模型: private val viewModel: ExampleViewModel by viewModels() 我正在使用 这里 我需要用一个模拟替换这个 ExampleViewModel,我该怎么做? 解决方案 我将在这里粘贴“dan ..
发布时间:2021-11-04 11:31:05 移动开发

如何在 Kotlin 中创建和使用房间数据库 [Dagger-Hilt]

这是一个自我回答的问题,因为我的项目中有代表曝光问题,所以我打算早些时候提出这个问题,但经过几个小时的研究最终解决了这个问题.与其保持沉默,我认为这可能会在未来对某人有所帮助.本教程演示了如何创建 Room 数据库并在活动/片段中使用它.此处给出的示例用例是查询数据库的大小并更新片段中的视图. 注意:下面的代码中有一些 Dagger-Hilt 依赖注入,但如果您手动执行自己的依赖注入,则应采 ..
发布时间:2021-11-02 23:20:56 移动开发

创建 Hilt viewModel 时出错

我试图将一个简单的 viewModel 交给一个可组合的,并且每次都得到这个错误,但我不知道这是什么意思: java.lang.IllegalStateException:给定的组件持有者类 com.example.app.MainActivity 没有实现接口 dagger.hilt.internal.GeneratedComponent 或接口 dagger.hilt.internal. ..
发布时间:2021-11-02 22:56:34 移动开发

Jetpack Compose 和刀柄冲突

几天来,我一直在尝试成功构建我正在处理的项目(使用 Jetpack Compose),但是当我更新 gradle 构建插件和更多依赖项时,我无法正确运行该项目.dagger-hilt 依赖项存在一些 gradle 版本冲突,我不知道如何修复它.我使用的是 Canary BETA 版的 Android Studio. 还有我所有的 gradle 构建文件: Gradle 构建模块应用: ..

使用Hilt注入CoroutineWorker

我正在尝试使用匕首刀柄注入协程工人,我已经按照文档中的所有说明进行操作 https://developer.android.com/training/dependency-injection/hilt-jetpack 旨在供“工人"使用不是“协程工人".. 但是它给出了一个错误: java.lang.NoSuchMethodError:没有接口方法getBackgroundExe ..
发布时间:2021-05-28 19:42:13 移动开发

如何绑定/提供活动或片段的击键?

我正在尝试在Android App上实现Hilt,虽然与Dagger相比,它很容易实现并删除了许多样板代码,但我还是错过了一些东西,例如构建自己的组件并自行定义范围所以我会有自己的提包. 关键点:示例:假设我有一个简单的App,其中带有RecyclerView,Adapter,Acitivity和一个嵌套在我的Adapter中的回调,然后将其传递给我的Adapter构造函数以检测点击或其他情 ..
发布时间:2021-04-30 19:10:48 移动开发