Ich bin neu in der Android Platform. Bitte lösen meine Frage, „wie mit SharedPreferences in Android & Abrufen von Daten in der gleichen Aktivität speichern“Wie Sie Daten in derselben Aktivität mit SharedPreferences in Android speichern und abrufen können
Wie Sie Daten in derselben Aktivität mit SharedPreferences in Android speichern und abrufen können
Antwort
Viele Anwendungen bereitstellen eine Möglichkeit, Benutzereinstellungen für die Einstellungen einer bestimmten Anwendung oder Aktivität zu erfassen. Um dies zu unterstützen, bietet Android eine Reihe von APIs.
Präferenzen sind normalerweise Name-Wert-Paare. Sie können über verschiedene Aktivitäten in einer Anwendung als "Gemeinsame Einstellungen" gespeichert werden (beachten Sie, dass sie derzeit nicht für alle Prozesse freigegeben werden können). Oder es kann etwas sein, das für eine Aktivität gespeichert werden muss.
Gemeinsame Einstellungen: Die gemeinsamen Einstellungen können von allen Anwendungen (Aktivitäten, Dienste usw.) aus den Anwendungen verwendet werden.
Aktivitätseinstellungen: Diese Einstellungen können nur in der Aktivität verwendet werden und können nicht von anderen Komponenten der Anwendung verwendet werden.
Gemeinsame Vorlieben:
Die gemeinsamen Einstellungen werden mit Hilfe von getSharedPreferences
Methode der Context
Klasse verwaltet. Die Voreinstellungen werden in einer Standarddatei (1) gespeichert, oder Sie können einen Dateinamen (2) angeben, der verwendet werden soll, um auf die Voreinstellungen Bezug zu nehmen.
(1) Hier ist, wie Sie die Instanz erhalten, 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 auf die erstellte Datei nur von der aufrufenden Anwendung zugegriffen wird. Andere unterstützte Modi sind MODE_WORLD_READABLE
und MODE_WORLD_WRITEABLE
. In MODE_WORLD_READABLE
kann eine andere Anwendung die erstellte Datei lesen, aber nicht ändern. Im Fall von MODE_WORLD_WRITEABLE
haben andere Anwendungen auch Schreibberechtigungen für die erstellte Datei.
(2) Der empfohlene Weg ist durch den Standard-Modus zu verwenden, ohne die Dateinamen
SharedPreferences preferences = PreferencesManager.getDefaultSharedPreferences(context);
Schließlich zu spezifizieren, sobald Sie die Einstellungen Instanz haben, ist hier, wie Sie die gespeicherte abrufen Werte von den Vorlieben:
int storedPreference = preferences.getInt("storedInt", 0);
Um store in der Voreinstellungsdatei Werte SharedPreference.Editor
Objekt muss verwendet werden. Editor
ist die verschachtelte Schnittstelle der Klasse SharedPreference
.
SharedPreferences.Editor editor = preferences.edit();
editor.putInt("storedInt", storedPreference); // value to store
editor.commit();
Editor auch Methoden unterstützen wie remove()
und clear()
den Präferenzwert aus der Datei zu löschen.
Aktivität Vorlieben:
Die gemeinsamen Präferenzen können durch andere Anwendungskomponenten verwendet werden. Aber wenn Sie die Voreinstellungen nicht mit anderen Komponenten teilen müssen und möchten, dass Aktivitäten private Präferenzen haben. Sie können dies mit Hilfe der Methode getPreferences()
der Aktivität tun. Die Methode getPreference
verwendet die Methode getSharedPreferences()
mit dem Namen der Aktivitätsklasse für den Namen der Voreinstellungsdatei.
Im Folgenden finden Sie den Code Vorlieben zu bekommen
SharedPreferences preferences = getPreferences(MODE_PRIVATE);
int storedPreference = preferences.getInt("storedInt", 0);
Die Codewerte zu speichern, ist auch bei gemeinsamen Vorlieben gleich.
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 den Aktivitätszustand in der Datenbank zu speichern. Hinweis: Android enthält auch ein Paket mit der Bezeichnung android.preference
. Das Paket definiert Klassen zum Implementieren von UI für Anwendungseinstellungen.
Um weitere Beispiele zu sehen, überprüfen Sie Android Data Storage Beitrag auf Entwickler-Website.
Dieser Link hat alles: http://developer.android.com/guide/topics/data/data-storage.html
Im Grunde ist es wie:
// Restore preferences
SharedPreferences settings = getSharedPreferences(PREFS_NAME, 0);
// Get one Setting
boolean silent = settings.getBoolean("silentMode", false);
[Antworten akzeptieren] (http://meta.stackexchange.com/questions/5234/5235#5235) –