“在 build.gradle 中使用 ViewModel 和 LiveData 而无需显式依赖声明”

问题描述 投票:0回答:2

我注意到,在我的一些 Android 项目中,我可以访问 ViewModel 和 LiveData 类,而无需在我的

build.gradle
文件中显式添加以下依赖项:

implementation("androidx.lifecycle:lifecycle-viewmodel-ktx:$lifecycle_version")
implementation("androidx.lifecycle:lifecycle-livedata-ktx:$lifecycle_version")

我很好奇为什么会发生这种情况。我是否应该需要声明这些依赖项才能在我的项目中使用 ViewModel 和 LiveData?是否有任何因素或配置允许我访问这些组件?

如果有任何关于这如何可能的见解,我将不胜感激......

android gradle android-livedata android-viewmodel android-mvvm
2个回答
0
投票

这意味着它们已被传递添加。您可以运行

app:dependencies
Gradle 任务来查看依赖关系树。


0
投票

如果您包含一些依赖于 ViewModel 和 LiveData 的依赖项,您可以将这 2 个作为传递依赖项。 当您使用捆绑了 ViewModel 和 LiveData 的其他依赖项时,您可能会遇到这些情况。例如,如果您使用“androidx.navigation:navigation-fragment-ktx”,您将获得这 2 个捆绑包。

您可以使用命令轻松检查这一点

./gradlew app:dependencies
© www.soinside.com 2019 - 2024. All rights reserved.