android - 我应该只向 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"
}
代码 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'
}
解决方案
KTX工件通常包含对原始工件的Kotlin扩展。
这意味着androidx.preference:preference-ktx
已经依赖于androidx.preference:preference
并且您不需要分别包含两者。
如果您不打算使用Kotlin扩展,则不需要使用androidx.preference:preference-ktx
工件。您可以在developer.android.com/reference/kotlin/androidx/上找到这些Kotlin扩展的文档。
所以一个经验法则:在项目中使用Kotlin时使用KTX工件。
推荐阅读
- python - FutureWarning:statsmodels.tsa.arima_model.ARMA 和 statsmodels.tsa.arima_model.ARIMA 已被弃用
- python - 每个时期的训练和验证集?
- jquery-select2 - 使用配置 FormatSelection 设置选定值 Remote Select2
- javascript - 我正在尝试显示输入错误凭据的警报,但仅显示在控制台中
- swift - 应用程序全屏时如何调整文本大小
- ansible - 按自然字母数字顺序在ansible中排序列表
- angular - Angular - 如何在不更改 URL 的情况下使 URL 不区分大小写?
- c++ - C++ getline函数连续循环
- apache-spark - 如何从 sparksql 获取查询结果?
- kubernetes - 手动触发的 cron 作业可以遵守 concurrencyPolicy 吗?