Shared Preferences
sind XML-Dateien zum Speichern privater primitiver Daten in Schlüssel-Wert-Paaren. Zu den Datentypen gehören Boolesche Werte , Floats , Ints , Longs und Strings .
Wenn Sie einige Daten speichern möchten, auf die in der gesamten Anwendung zugegriffen werden kann, können Sie sie in einer globalen Variablen speichern. Es verschwindet jedoch, sobald die Anwendung geschlossen wird. Eine andere und empfohlene Möglichkeit ist das Speichern in SharedPreference
. In der SharedPreferences-Datei gespeicherte Daten sind in der gesamten Anwendung verfügbar und bleiben auch nach dem Schließen der Anwendung oder nach einem Neustart erhalten.
SharedPreferences speichert die Daten im Schlüssel-Wert-Paar und kann auf dieselbe Weise aufgerufen werden.
Sie können ein Objekt SharedPreferences
mit zwei Methoden erstellen :
1). getSharedPreferences () : Mit diesen Methoden können Sie mehrere SharedPreferences.and seine ersten Parameter im Namen von erstellen SharedPreferences
.
2). getPreferences () : Mit dieser Methode können Sie Single erstellen SharedPreferences
.
Daten speichern
Hinzufügen einer Variablendeklaration / Erstellen einer Voreinstellungsdatei
public static final String PREFERENCES_FILE_NAME = "MyAppPreferences";
Rufen Sie ein Handle zum Dateinamen ab (mithilfe von getSharedPreferences).
SharedPreferences settingsfile= getSharedPreferences(PREFERENCES_FILE_NAME,0);
Öffnen Sie den Editor und fügen Sie Schlüssel-Wert-Paare hinzu
SharedPreferences.Editor myeditor = settingsfile.edit();
myeditor.putBoolean("IITAMIYO", true);
myeditor.putFloat("VOLUME", 0.7)
myeditor.putInt("BORDER", 2)
myeditor.putLong("SIZE", 12345678910L)
myeditor.putString("Name", "Amiyo")
myeditor.apply();
Vergessen Sie nicht, myeditor.apply()
wie oben gezeigt anzuwenden / zu speichern .
Daten abrufen
SharedPreferences mysettings= getSharedPreferences(PREFERENCES_FILE_NAME, 0);
IITAMIYO = mysettings.getBoolean("IITAMIYO", false);
//returns value for the given key.
//second parameter gives the default value if no user preference found
// (set to false in above case)
VOLUME = mysettings.getFloat("VOLUME", 0.5)
//0.5 being the default value if no volume preferences found
// and similarly there are get methods for other data types