当前位置: 首页 > 知识库问答 >
问题:

CoroutineDispatcher上缺少Hilt绑定

隆谦
2023-03-14

我正在重构我的应用程序与Hilt作为依赖注入管理器。我有一个构造函数可注入类,构造函数中有两个参数。其中一个参数是coroutineDispatcher

class SubscriptionsLocalDataSource @Inject constructor(
    private val subscriptionsDao: SubscriptionsDao,
    private val dispatcher: CoroutineDispatcher = Dispatchers.IO
) : SubscriptionsDataSource {

}

当我尝试构建应用程序时,我得到一个丢失绑定的错误,如下所示:

我是不是缺少了CoroutineDispatcher的注释?

共有1个答案

皇甫繁
2023-03-14

我不知道这是否是最好的方法,但我只是按照本指南创建了DispatcherModule来解决问题

@Module
@InstallIn(ApplicationComponent::class)
object DispatcherModule {
    @IoDispatcher
    @Provides
    fun providesIoDispatcher(): CoroutineDispatcher = Dispatchers.IO
}

@Retention(AnnotationRetention.BINARY)
@Qualifier
annotation class IoDispatcher

然后我重构了我的原始类以使用IoDispatcher注释:

class SubscriptionsLocalDataSource @Inject constructor(
    private val subscriptionsDao: SubscriptionsDao,
    @IoDispatcher private val dispatcher: CoroutineDispatcher
) : SubscriptionsDataSource {


}
 类似资料:
  • 我有一个JavaFX8桌面应用程序,我正在创建一个应用程序包来将应用程序分发到Mac用户。我使用Oracle“自含应用程序打包”工具生成包。 文件关联是在Oracle“自包含应用程序打包”工具的Ant脚本中完成的,如下所示: 在Java代码中,我获得的一个实例,然后注册的侦听器,如下所示: 您可以在这里看到完整的代码。

  • 我正在尝试使用带有多绑定的Dagger2创建我的ViewModel的依赖注入,但我收到了这个错误,我无法使其工作,我尝试了几个答案(如下),但没有一个对我有帮助。 这是我收到的错误: 这是我的密码 此外,以下是我的应用程序依赖项版本: 我知道这个问题有几个问题,但我试了几个,没有一个对我有效。 以下是我尝试阅读和检查的解决方案链接: https://github.com/android/archi

  • 我试图运行一个依赖于某些python3库的PySpark作业。我知道我可以在Spark Cluster上安装这些库,但是因为我正在为多个作业重用集群,所以我更愿意捆绑所有依赖项,并通过指令将它们传递给每个作业。 为此,我使用: 它有效地压缩了需要在根级别使用的包中的所有代码。 在my中,我可以导入依赖项 并将.zip添加到我的Spark上下文中 到目前为止还不错。 但出于某种原因,这将在星火星团的

  • 我正在尝试为我的容器配置网络选项,但在尝试以下命令时: 我得到以下结果: root@Server02:/var/lib#lxc网络创建测试br0 用法:lxc[选项] 检查可用命令列表,我不认为网络是一个选项 以下是我看到的可用命令: 配置,复制,删除,执行,文件,手指,图像,信息,初始化,启动,列表,监控,移动,暂停,配置文件,发布,远程,重启,恢复,快照,启动,停止,版本 我正在使用Ubunt

  • 问题内容: 下载elasticsearch并按照此链接中的步骤解压缩后: 在Windows上安装Elastic Search 我收到以下错误: 注意:我还必须按照此决议的建议安装JDK8 我应该更改.config文件中的内容吗?也许这条线? 问题答案: 将环境变量设置为指向 JDK 8 安装路径。 您可以在命令行上执行此操作,如以下示例所示: 使用以下命令确认您使用的是正确的JDK版本:

  • 我是Apache karaf和OSGI的新手。我正在尝试编写和运行一个非常简单的捆绑包。但是我在启动该捆绑包时遇到了这个错误: 执行命令时出错:在捆绑包上执行命令时出错:无法解析karaf[86](R 86.0):缺少需求[karaf[86](R 86.0)]osgi。装电线。包裹(osgi.wiring.package=bundle)未解决的需求:[[karaf[86](R 86.0)]osgi