import android.preference.PreferenceManager;
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);
// then you use
prefs.getBoolean("keystring", true);
Aktualisieren
Gemäß den gemeinsamen Einstellungen | Android Developer Tutorial (Teil 13) von Sai Geetha MN,
Viele Anwendungen bieten möglicherweise eine Möglichkeit, Benutzereinstellungen für die Einstellungen einer bestimmten Anwendung oder Aktivität zu erfassen. Um dies zu unterstützen, bietet Android einen einfachen Satz von APIs.
Einstellungen sind normalerweise Name-Wert-Paare. Sie können als "Freigegebene Einstellungen" für verschiedene Aktivitäten in einer Anwendung gespeichert werden (beachten Sie, dass sie derzeit nicht für mehrere Prozesse freigegeben werden können). Oder es kann etwas sein, das für eine Aktivität spezifisch gespeichert werden muss.
Freigegebene Einstellungen: Die freigegebenen Einstellungen können von allen Komponenten (Aktivitäten, Dienste usw.) der Anwendungen verwendet werden.
Einstellungen für Aktivitäten: Diese Einstellungen können nur innerhalb der jeweiligen Aktivität verwendet werden und können nicht von anderen Komponenten der Anwendung verwendet werden.
Gemeinsame Einstellungen:
Die gemeinsamen Einstellungen werden mit Hilfe der getSharedPreferences
Methode der Context
Klasse verwaltet. Die Einstellungen werden in einer Standarddatei (1) gespeichert, oder Sie können einen Dateinamen (2) angeben , der zum Verweisen auf die Einstellungen verwendet werden soll.
(1) Die empfohlene Methode ist die Verwendung im Standardmodus ohne Angabe des Dateinamens
SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(context);
(2) So erhalten Sie die Instanz, wenn Sie den Dateinamen angeben
public static final String PREF_FILE_NAME = "PrefFile";
SharedPreferences preferences = getSharedPreferences(PREF_FILE_NAME, MODE_PRIVATE);
MODE_PRIVATE
ist die Betriebsart für die Einstellungen. Dies ist der Standardmodus und bedeutet, dass nur die aufrufende Anwendung auf die erstellte Datei zugreifen kann. Weitere zwei unterstützte Modi sind MODE_WORLD_READABLE
und MODE_WORLD_WRITEABLE
. In einer MODE_WORLD_READABLE
anderen Anwendung kann die erstellte Datei gelesen, aber nicht geändert werden. Bei MODE_WORLD_WRITEABLE
anderen Anwendungen haben Sie auch Schreibberechtigungen für die erstellte Datei.
Sobald Sie die Voreinstellungsinstanz haben, können Sie die gespeicherten Werte wie folgt aus den Voreinstellungen abrufen :
int storedPreference = preferences.getInt("storedInt", 0);
Zum Speichern von Werten in der Voreinstellungsdatei muss ein SharedPreference.Editor
Objekt verwendet werden. Editor
ist eine verschachtelte Schnittstelle in der SharedPreference
Klasse.
SharedPreferences.Editor editor = preferences.edit();
editor.putInt("storedInt", storedPreference); // value to store
editor.commit();
Der Editor unterstützt auch Methoden wie remove()
und clear()
zum Löschen der Voreinstellungswerte aus der Datei.
Aktivitätseinstellungen:
Die freigegebenen Einstellungen können von anderen Anwendungskomponenten verwendet werden. Wenn Sie die Einstellungen jedoch nicht mit anderen Komponenten teilen müssen und über private Aktivitätseinstellungen verfügen möchten, können Sie dies mithilfe getPreferences()
der Aktivitätsmethode tun . Die getPreference
Methode verwendet die getSharedPreferences()
Methode mit dem Namen der Aktivitätsklasse für den Namen der Einstellungsdatei.
Im Folgenden finden Sie den Code zum Abrufen der Einstellungen
SharedPreferences preferences = getPreferences(MODE_PRIVATE);
int storedPreference = preferences.getInt("storedInt", 0);
Der Code zum Speichern von Werten ist auch der gleiche wie bei gemeinsamen Einstellungen.
SharedPreferences preferences = getPreference(MODE_PRIVATE);
SharedPreferences.Editor editor = preferences.edit();
editor.putInt("storedInt", storedPreference); // value to store
editor.commit();
Sie können auch andere Methoden verwenden, z. B. das Speichern des Aktivitätsstatus in der Datenbank. Hinweis Android enthält auch ein Paket namens android.preference
. Das Paket definiert Klassen zum Implementieren der Benutzeroberfläche für Anwendungseinstellungen.
Weitere Beispiele finden Sie im Beitrag zur Datenspeicherung von Android auf der Entwicklerseite.