gpt4 book ai didi

android - 如何将参数传递给 Hilt 模块?

转载 作者:行者123 更新时间:2023-12-03 23:05:59 26 4
gpt4 key购买 nike

我开始将 Dagger 应用程序迁移到 Hilt,首先我将 AppComponent 转换为 Hilt 自动生成的 ApplicationComponent。因此我添加了 @InstallIn(ApplicationComponent::class)注释到与该组件相关的每个模块。
现在我收到以下错误:

error: [Hilt] All modules must be static and use static provisionmethods or have a visible, no-arg constructor.


它指向这个模块:
@InstallIn(ApplicationComponent::class)
@Module
class AccountModule(private val versionName: String) {

@Provides
@Singleton
fun provideComparableVersion(): ComparableVersion {
return ComparableVersion(versionName)
}
}
以前在 Dagger 中,可以在构造函数中传递参数。看起来 Hilt 不允许这样做。
如何将参数传递给 Hilt 模块?

最佳答案

@InstallIn(ApplicationComponent::class)
@Module
class AccountModule {
@Provides
@Singleton
fun provideComparableVersion(application: Application): ComparableVersion {
return ComparableVersion((application as MyApplication).versionName)
}
}
如果不想看到 MyApplication , 然后你可以使用一个接口(interface)。

关于android - 如何将参数传递给 Hilt 模块?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62691794/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com