【发布时间】:2022-10-21 17:30:47
【问题描述】:
我开发了一个模块化的 android 应用程序,但是我在制作域模块纯 kotlin 时遇到了问题。我的意思是,我希望我的域模块是一个 kotlin(或 java)库,而不是一个 android 库。 一切都很好,直到我使用 hilt 将我的存储库接口注入到我的用例中。 在这里我遇到了一些错误。因为 hilt 是一个 android 库,我不应该使用它。但我需要它。 如你看到的 :
import com.example.domain_article.repository.ArticleRepository
import javax.inject.Inject
class GetArticleListLocalUseCase @Inject constructor(
private val articleRepository: ArticleRepository) {
operator fun invoke() = articleRepository.getArticleListLocal()
}
这里我们有属于刀柄(匕首)的@Inject,如果我从域模块的gradle中删除刀柄依赖,我会得到一个错误。
我应该怎么做才能使我的域成为纯 kotlin 和 hilt?
【问题讨论】:
-
至于依赖注入,您可以使用 Kotlin DI 库科因而不是匕首。
-
@Inject不属于刀柄(匕首)。它属于javax inject库,您可以在没有匕首依赖的情况下使用它
标签: android kotlin mvvm dns dagger-hilt