Heim >Java >javaLernprogramm >Wie greife ich über eine PreferenceActivity in einer anderen Android-Aktivität auf SharedPreferences zu?
SharedPreferences von einer PreferenceActivity in Android abrufen
Wenn Sie eine PreferenceActivity zum Anzeigen von Anwendungseinstellungen verwenden, werden die Einstellungen automatisch in SharedPreferences gespeichert, wenn Benutzer interagieren mit ihnen. Der Zugriff auf den SharedPreference-Namen von einer anderen Aktivität aus kann jedoch eine Herausforderung sein.
Laut Dokumentation:
„Um eine Instanz von SharedPreferences abzurufen, die von der Präferenzhierarchie in dieser Aktivität verwendet wird, rufen Sie getDefaultSharedPreferences( android.content.Context) mit einem Kontext im selben Paket wie dieser Aktivität.“
Lösung:
Um den SharedPreferences-Namen von einer anderen Aktivität abzurufen, verwenden Sie den folgenden Code:
import android.preference.PreferenceManager; SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);
Dieser Code ruft den ab SharedPreferences-Instanz unter Verwendung des Kontexts der Anwendung, der dem Paket der entspricht PreferenceActivity.
SharedPreferences und aktivitätsgesteuerte Einstellungen
SharedPreferences können, wie in der Dokumentation erwähnt, für alle Aktivitäten und Dienste innerhalb einer Anwendung verwendet werden, während aktivitätsgesteuerte Einstellungen verwendet werden sind spezifisch für eine bestimmte Aktivität.
Verwenden SharedPreferences
Für gemeinsame Präferenzen wird empfohlen, den Standardmodus ohne Angabe eines Dateinamens zu verwenden:
SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(context);
Sie können jedoch auch einen Dateinamen angeben:
SharedPreferences preferences = getSharedPreferences(PREF_FILE_NAME, MODE_PRIVATE);
Um gespeicherte Werte abzurufen:
int storedPreference = preferences.getInt("storedInt", 0);
Zum Speichern Werte:
SharedPreferences.Editor editor = preferences.edit(); editor.putInt("storedInt", storedPreference); // value to store editor.commit();
Aktivitätsbezogene Einstellungen verwenden
So verwenden Sie aktivitätsspezifische Einstellungen:
SharedPreferences preferences = getPreferences(MODE_PRIVATE);
Das obige ist der detaillierte Inhalt vonWie greife ich über eine PreferenceActivity in einer anderen Android-Aktivität auf SharedPreferences zu?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!