我是新手。所以我想在我使用 MVVM 架构的项目上尝试使用 hilt 进行依赖注入。结构如下所示:JsonHelper -> RemoteDataSource -> Repository -> ViewModel。
当我尝试在 RemoteDataSource 和 Repository 上注入 DI 时,就会出现问题,因为这些类是单例类并且具有私有构造函数。错误代码如下所示
..location\RemoteDataSource.java:40: error: Dagger does not support injection into Kotlin objects
public static final class Companion {
..location\Repository.java:30: error: Dagger does not support injection into Kotlin objects
public static final class Companion {
Run Code Online (Sandbox Code Playgroud)
这些是我的 RemoteDataSource 和存储库代码,我尝试将其注入到构造函数中,但它说 Dagger 无法注入私有构造函数,所以我尝试将其注入到函数中,但仍然不起作用
远程数据源.kt
@Singleton
class RemoteDataSource private constructor(private val jsonHelper: JsonHelper) {
companion object {
@Volatile
private var instance: RemoteDataSource? = null
@Inject
fun getInstance(jsonHelper: JsonHelper): RemoteDataSource …Run Code Online (Sandbox Code Playgroud)