我注意到,在我的一些 Android 项目中,我可以访问 ViewModel 和 LiveData 类,而无需在我的
build.gradle
文件中显式添加以下依赖项:
implementation("androidx.lifecycle:lifecycle-viewmodel-ktx:$lifecycle_version")
implementation("androidx.lifecycle:lifecycle-livedata-ktx:$lifecycle_version")
我很好奇为什么会发生这种情况。我是否应该需要声明这些依赖项才能在我的项目中使用 ViewModel 和 LiveData?是否有任何因素或配置允许我访问这些组件?
如果有任何关于这如何可能的见解,我将不胜感激......
这意味着它们已被传递添加。您可以运行
app:dependencies
Gradle 任务来查看依赖关系树。
如果您包含一些依赖于 ViewModel 和 LiveData 的依赖项,您可以将这 2 个作为传递依赖项。 当您使用捆绑了 ViewModel 和 LiveData 的其他依赖项时,您可能会遇到这些情况。例如,如果您使用“androidx.navigation:navigation-fragment-ktx”,您将获得这 2 个捆绑包。
您可以使用命令轻松检查这一点
./gradlew app:dependencies