In Android erfolgt die Sitzungsverwaltung mithilfe einiger Datenspeichertechniken. Diese Daten können in einigen globalen Variablen, Datenbanken oder Anwendungseinstellungen gespeichert werden.
Aber es gibt ein Problem mit den globalen Variablen. Die globalen Variablen können die Daten nur behalten, bis die Anwendung geöffnet wird. Sobald die Anwendung geschlossen wird, werden die globalen Variablen zerstört und ihre Werte gehen verloren.
Die in den Datenbank- und Anwendungseinstellungen gespeicherten Daten gehen nicht verloren, wenn die Anwendung geschlossen wird.
Diese werden also für die Sitzungsverwaltung verwendet. Aber die Datenspeicherung und der Zugriff in der Datenbank ist im Vergleich zu den Einstellungen langsamer.
Aus diesem Grund werden die Einstellungen für die Sitzungsverwaltung verwendet.
Im Android-Kontext werden diese Einstellungen als SharedPreferences bezeichnet. Diese ermöglichen eine schnellere Datenspeicherung, Zugriff und Aktualisierung.
SharedPreferences werden normalerweise verwendet, um die Einstellungen der Anwendung zu speichern.
Finden Sie die folgenden Schritte, um die SharedPreferences in der App zu verwenden, um Daten für die Aufrechterhaltung der Sitzung zu speichern und darauf zuzugreifen.
1. Initialisieren Sie den SharedPreferences-Editor, um Daten in den SharedPreferences der Anwendung zu speichern.
SharedPreferences prefs = getApplicationContext().getSharedPreferences("preferences-key-name", MODE_PRIVATE); SharedPreferences.Editor Editor = prefs.edit();
2. Geben Sie den Wert in das Editor-Objekt ein, um ihn in den SharedPreferences zu speichern. Diese Werte können vom Typ sein: String, Boolean, Int, Float usw. Führen Sie nach dem Hinzufügen der Werte die Methode commit() des Editors aus, um die Werte zu speichern.
editor.putString("Schlüssel-Benutzername", "John Doe"); editor.commit();
3. Um die Daten aus den SharedPreferences abzurufen, ist das Editor-Objekt nicht erforderlich. Holen Sie sich einfach den erforderlichen String oder einen beliebigen anderen Wert mit der entsprechenden Methode.
SharedPreferences prefs = getApplicationContext().getSharedPreferences("preferences-key-name ", MODE_PRIVATE); String username = prefs.getString("key-username", "default-value");
Der zweite Parameter der Methode getString() ist der Standardwert, der zurückgegeben wird, falls kein Wert in den Einstellungen gespeichert ist, die diesem Schlüssel entsprechen.
4. Um einen bestimmten SharedPreference-Schlüssel zu löschen, verwenden Sie die Methode remove().
SharedPreferences prefs = getApplicationContext().getSharedPreferences("preferences-key-name", MODE_PRIVATE); SharedPreferences.Editor Editor = prefs.edit(); editor.remove("Schlüssel-Benutzername"); editor.commit();
5. Um alle gespeicherten SharedPreferences zu löschen, verwenden Sie die Methode clear().
SharedPreferences prefs = getApplicationContext().getSharedPreferences("preferences-key-name", MODE_PRIVATE); SharedPreferences.Editor Editor = prefs.edit(); editor.clear(); editor.commit();
Nachfolgend finden Sie das Verwendungsbeispiel dieser SharedPreferences für die Sitzungsverwaltung:-
Wenn sich ein Benutzer bei der Anwendung anmeldet, speichern Sie den Benutzernamen oder einen anderen entsprechenden Wert des Benutzers in den SharedPreferences. Verwenden Sie diesen gespeicherten Wert, um den Benutzer erneut anzumelden, wenn die Anwendung erneut geöffnet wird, oder auf diesen Wert kann in jeder Aktivität in der gesamten Anwendung zugegriffen werden, um den Benutzernamen abzurufen. Wenn der Benutzer auf Abmelden klickt, löschen Sie die benutzerbezogenen Felder, um den Benutzer abzumelden.