PreferenceManager getDefaultSharedPreferences
在 Android Q 中已弃用,该如何替换?
答案 0 :(得分:4)
您可以使用PreferenceManager
的AndroidX支持库版本,即androidx.preference.PreferenceManager
而不是android.preference.PreferenceManager
。
答案 1 :(得分:4)
如果您只是保存和检索键值对,则可以替换:
prefs = PreferenceManager.getDefaultSharedPreferences(this);
具有:
prefs = getSharedPreferences(
"my.app.packagename_preferences", Context.MODE_PRIVATE);
对于新的实现,请确保使用正确的文件名,否则您的用户将无法访问使用getDefaultSharedPreferences(!)保存的所有内容。以下将获取文件名称getDefaultSharedPreferences使用:
getPackageName() + "_preferences"
答案 2 :(得分:1)
引用PreferenceManager
documentation:
该类已在API级别29中弃用。
使用AndroidX Preference Library在所有设备上保持一致的行为。有关使用AndroidX首选项库的更多信息,请参见Settings。
答案 3 :(得分:1)
此依赖项提供了androidx
PreferenceManager:
Java:implementation "androidx.preference:preference:1.1.0-rc01"
科特琳:implementation "androidx.preference:preference-ktx:1.1.0-rc01"
答案 4 :(得分:0)
答案 5 :(得分:0)
kotlin libray
implementation 'androidx.preference:preference-ktx:1.1.1'
kotlin使用Configuration.getInstance()。load(this,androidx.preference.PreferenceManager.getDefaultSharedPreferences(this))