PreferenceManager getDefaultSharedPreferences不推荐使用android Q

时间:2019-07-01 10:00:35

标签: android kotlin

PreferenceManager getDefaultSharedPreferences Android Q 中已弃用,该如何替换?

6 个答案:

答案 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)

是,已弃用。使用AndroidX首选项库可在所有设备上保持一致的行为。有关使用AndroidX首选项库的更多信息,请参见设置。

关注此-

PreferenceManager

答案 5 :(得分:0)

kotlin libray

implementation 'androidx.preference:preference-ktx:1.1.1'

kotlin使用Configuration.getInstance()。load(this,androidx.preference.PreferenceManager.getDefaultSharedPreferences(this))