PreferenceManager getDefaultSharedPreferences
ist in Android Q veraltet . Wie ersetze ich es?
PreferenceManager getDefaultSharedPreferences
ist in Android Q veraltet . Wie ersetze ich es?
Antworten:
Sie können die AndroidX-Unterstützungsbibliotheksversion von verwenden PreferenceManager
, dh androidx.preference.PreferenceManager
und nicht android.preference.PreferenceManager
.
Denken Sie daran, Ihrem build.gradle Folgendes hinzuzufügen.
implementation 'androidx.preference:preference:1.1.1'
implementation
nicht sein dependency
?
Das Paket preference
enthält den androidx
PreferenceManager :
Java: implementation "androidx.preference:preference:1.1.1"
Kotlin: implementation "androidx.preference:preference-ktx:1.1.1"
dh wechseln android.preference.PreferenceManager
zuandroidx.preference.PreferenceManager
Siehe auch PreferenceFragmentCompat , die aktuell PreferenceFragment
zu verwendende Klasse.
PreferenceFragmentCompat
, der damals noch nicht vorhanden war. In der Regel tritt dann als nächstes ein Verfallsproblem auf, wenn versucht wird, die Einstellungen zu aktualisieren. Die andere verknüpfte Antwort war nur für eine begrenzte Zeit gültig.
Zitat aus der PreferenceManager
Dokumentation :
Diese Klasse wurde in API-Stufe 29 nicht mehr unterstützt.
Verwenden Sie die AndroidX- Einstellungsbibliothek für ein konsistentes Verhalten auf allen Geräten. Weitere Informationen zur Verwendung der AndroidX-Voreinstellungsbibliothek finden Sie unter Einstellungen .
Wenn Sie nur Schlüssel-Wert-Paare speichern und abrufen, können Sie Folgendes ersetzen:
prefs = PreferenceManager.getDefaultSharedPreferences(this);
mit:
prefs = getSharedPreferences(
"my.app.packagename_preferences", Context.MODE_PRIVATE);
Stellen Sie sicher, dass Sie den richtigen Dateinamen für die neue Implementierung verwenden, da Ihre Benutzer sonst den Zugriff auf alle mit getDefaultSharedPreferences (!) Gespeicherten Daten verlieren. Im Folgenden wird der Dateiname abgerufen, den getDefaultSharedPreferences verwendet:
getPackageName() + "_preferences"
Ja, es ist veraltet. Verwenden Sie die AndroidX-Einstellungsbibliothek für ein konsistentes Verhalten auf allen Geräten. Weitere Informationen zur Verwendung der AndroidX-Einstellungsbibliothek finden Sie unter Einstellungen.
Folge dies -