PreferenceManager getDefaultSharedPreferences
застаріло в Android Q , як його замінити?
PreferenceManager getDefaultSharedPreferences
застаріло в Android Q , як його замінити?
Відповіді:
Ви можете використовувати версію бібліотеки підтримки AndroidX PreferenceManager
, тобто androidx.preference.PreferenceManager
і ні android.preference.PreferenceManager
.
не забудьте додати наступне у свій build.gradle.
implementation 'androidx.preference:preference:1.1.1'
implementation
НЕ dependency
?
Пакет preference
надає androidx
PreferenceManager :
Java: implementation "androidx.preference:preference:1.1.1"
Котлін: implementation "androidx.preference:preference-ktx:1.1.1"
тобто змінити android.preference.PreferenceManager
наandroidx.preference.PreferenceManager
Також див. PreferenceFragmentCompat , який є поточним PreferenceFragment
класом для використання.
PreferenceFragmentCompat
, якого тоді ще не було ... зазвичай це наступна проблема застарівання, з якою можна зіткнутися при спробі оновити налаштування. Інша відповідна відповідь була дійсною лише обмежений проміжок часу.
Якщо ви просто зберігаєте та отримуєте пари ключ-значення, ви можете замінити їх:
prefs = PreferenceManager.getDefaultSharedPreferences(this);
з:
prefs = getSharedPreferences(
"my.app.packagename_preferences", Context.MODE_PRIVATE);
Обов’язково використовуйте правильне ім’я файлу для нової реалізації, інакше ваші користувачі втратять доступ до всього збереженого за допомогою getDefaultSharedPreferences (!). Наступне отримає ім’я файлу getDefaultSharedPreferences, яке використовує:
getPackageName() + "_preferences"
Цитата з PreferenceManager
документації :
Цей клас застарів на рівні API 29.
Використовуйте бібліотеку налаштувань AndroidX для послідовної поведінки на всіх пристроях. Для отримання додаткової інформації про використання бібліотеки налаштувань AndroidX див. Налаштування .
Так, це застаріло. Використовуйте бібліотеку налаштувань AndroidX для послідовної поведінки на всіх пристроях. Для отримання додаткової інформації про використання бібліотеки налаштувань AndroidX див. Налаштування.
Слідуйте за цим -