import android.preference.PreferenceManager;
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);
// then you use
prefs.getBoolean("keystring", true);
Update
Nach Angaben von Gemeinsame Einstellungen | Android Developer Tutorial (Teil 13) von Sai Geetha M N,
M Einstellungen einer bestimmten Anwendung oder einer Aktivität zu erfassen. Zur Unterstützung bietet Android einen einfachen Satz von APIs.
Präferenzen sind in der Regel Name-Wert-Paare. Sie können gespeichert werden als "Gemeinsame Einstellungen" für verschiedene Aktivitäten in einer Anwendung gespeichert werden (Anmerkung derzeit können sie nicht prozessübergreifend geteilt werden). Oder sie können sein etwas sein, das spezifisch für eine Aktivität gespeichert werden muss.
-
Gemeinsame Präferenzen: Die gemeinsamen Einstellungen können von allen Komponenten (Aktivitäten, Dienste usw.) der Anwendungen verwendet werden.
-
Präferenzen für die Aktivität: Diese Einstellungen können nur innerhalb der jeweiligen Aktivität verwendet werden und können nicht von anderen Komponenten der Anwendung genutzt werden.
Gemeinsame Präferenzen:
Die gemeinsamen Einstellungen werden mit Hilfe von getSharedPreferences
Methode der Context
Klasse. Die Einstellungen werden in einer Standarddatei gespeichert (1) oder Sie können einen Dateinamen angeben (2) zu verwenden, um auf die Einstellungen zu verweisen.
(1) Der empfohlene Weg ist im Standardmodus zu verwenden, ohne den Dateinamen anzugeben
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 der Betriebsmodus für die Einstellungen. Dies ist der Standardmodus und bedeutet, dass nur die aufrufende Anwendung auf die erstellte Datei zugreifen kann. Die beiden anderen unterstützten Modi sind MODE_WORLD_READABLE
et MODE_WORLD_WRITEABLE
. Unter MODE_WORLD_READABLE
Die andere Anwendung kann die erstellte Datei lesen, aber nicht verändern. Im Fall von MODE_WORLD_WRITEABLE
andere Anwendungen haben ebenfalls Schreibrechte für die erstellte Datei.
Sobald Sie die Einstellungsinstanz haben, können Sie wie folgt vorgehen die gespeicherten Werte abrufen aus den Einstellungen:
int storedPreference = preferences.getInt("storedInt", 0);
An Werte speichern in der Einstellungsdatei SharedPreference.Editor
Objekt verwendet werden muss. Editor
ist eine verschachtelte Schnittstelle in der SharedPreference
Klasse.
SharedPreferences.Editor editor = preferences.edit();
editor.putInt("storedInt", storedPreference); // value to store
editor.commit();
Editor unterstützt auch Methoden wie remove()
et clear()
um die Einstellungswerte aus der Datei zu löschen.
Präferenzen für Aktivitäten:
Die gemeinsamen Einstellungen können von anderen Anwendungskomponenten verwendet werden. Wenn Sie die Einstellungen jedoch nicht mit anderen Komponenten teilen müssen und private Aktivitätseinstellungen haben möchten, können Sie dies mit Hilfe von getPreferences()
Methode der Tätigkeit. Die getPreference
Methode verwendet die getSharedPreferences()
Methode mit dem Namen der Aktivitätsklasse für den Namen der Einstellungsdatei.
Nachfolgend der Code zum Abrufen der Einstellungen
SharedPreferences preferences = getPreferences(MODE_PRIVATE);
int storedPreference = preferences.getInt("storedInt", 0);
Der Code für die Speicherung der Werte ist derselbe wie im Falle der 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 wie die Speicherung des Aktivitätsstatus in einer Datenbank verwenden. Hinweis Android enthält auch ein Paket namens android.preference
. Das Paket definiert Klassen zur Implementierung von Anwendungseinstellungen UI.
Weitere Beispiele finden Sie auf der Android-Seite Datenspeicherung auf der Website der Entwickler veröffentlichen.