我启动了新的电视应用,现在我需要针对流的质量,流的语言等开发动态偏好设置。 因此,我打算使用android.preference库并根据流数据动态生成perfs。但是在https://developer.android.com/guide/topics/ui/settings.html上是
注意:本指南说明了如何使用AndroidX首选项库。 从Android 10开始,平台android.preference库为 不推荐使用。
但是没有重定向到替换。那么用什么代替android.preference库呢?
该指南也有说明:
注意:本指南假定您正在使用 androidx.preference:preference :1.1.0-alpha04或更高版本。一些功能 可能在旧版本的库中不可用。
因此androidx.preference:preference
将被弃用。
答案 0 :(得分:2)
平台android.preference库已弃用。但是没有重定向到替换。
您可以签入Android 10 documentation:
自Android 10起,不推荐使用android.preference库。开发人员应改用AndroidX偏好库 strong>,该库是Android Jetpack的一部分。
替换为androidx-preference库。
只需使用:
dependencies {
def preference_version = "1.1.0"
// Java
implementation "androidx.preference:preference:$preference_version"
// Kotlin
implementation "androidx.preference:preference-ktx:$preference_version"
}
有关release notes的更多信息。
也:
注意:本指南假定您使用的是androidx.preference:preference:1.1.0-alpha04或更高版本。某些功能可能在该库的旧版本上不可用。
It means,当发布处于Alpha版本时,可以添加,删除或更改API。
答案 1 :(得分:0)
要阐明升级到使用AndroidX首选项库的步骤(基于@GabrieleMariotti的有用答案):
在您的build.gradle (Module:app)
中将以下内容添加到dependencies
dependencies {
...
implementation 'androidx.appcompat:appcompat:1.1.0'
implementation "androidx.preference:preference:1.1.0"
...
}
我也将xmlns:android
的URL保留在res / xml / my_preferences.xml中,尽管documentation提出了其他建议。也就是说,我有
<PreferenceScreen
xmlns:android="http://schemas.android.com/apk/res/android">
<PreferenceCategory android:title="Individual">
<Preference
android:key="preference_play_activity"
android:title="Play Activity">
<intent
android:targetClass="com.myorg.mythirdapp.PlayActivity"
android:targetPackage="com.myorg.mythirdapp" />
</Preference>
...
...而不是...
<PreferenceScreen xmlns:app="http://schemas.android.com/apk/res-auto">