首页 > 解决方案 > 我应该只向 build.gradle 添加一个“androidx.preference:preference:1.1.1”或“androidx.preference:preference-ktx:1.1.1”吗?

问题描述

为了使用androidx.preference,我应该将依赖项添加到 build.gradle

图片 A来自https://developer.android.com/jetpack/androidx/releases/preference

1:我觉得不好,应该用Code A1或者Code A2吧?

2:还有更多,图片 B来自 https://developer.android.com/google/play/billing/getting-ready
我认为这很好。如果我的项目混合了 java 和 kotlin,我应该使用Code B1 如果我的项目仅由 Kotlin 编写,我应该使用 Code B2,对吧?

图像 A

在此处输入图像描述

代码 A1

dependencies {
    def preference_version = "1.1.1"

    // Java language implementation
    implementation "androidx.preference:preference:$preference_version"   
}

代码 A2

dependencies {
    def preference_version = "1.1.1" 
    // Kotlin
    implementation "androidx.preference:preference-ktx:$preference_version"
}

图像 B 在此处输入图像描述

代码 B1

dependencies {
    def billing_version = "3.0.0"
    implementation 'com.android.billingclient:billing:$billing_version'
}

代码 B2

dependencies {
    def billing_version = "3.0.0"
    implementation 'com.android.billingclient:billing-ktx:$billing_version'
}

标签: androidandroid-studio

解决方案


KTX工件通常包含对原始工件的Kotlin扩展。

这意味着androidx.preference:preference-ktx已经依赖于androidx.preference:preference并且您不需要分别包含两者。

如果您不打算使用Kotlin扩展,则不需要使用androidx.preference:preference-ktx工件。您可以在developer.android.com/reference/kotlin/androidx/上找到这些Kotlin扩展的文档。

所以一个经验法则:在项目中使用Kotlin时使用KTX工件。


推荐阅读