Ich verwende in Android eine SharedPreferences . Alles funktioniert in derselben Sitzung großartig.
Nach dem Neustart der Anwendung gehen jedoch alle Einstellungen aus der vorherigen Sitzung verloren.
Gibt es irgendetwas, das ich angeben muss, damit die SharedPreferences von "run to run" abhängen?
Ich erstelle die Präferenzen durch Aufruf von
%Vor%Dann setze ich Eigenschaften wie z. B.
%Vor%und ich verstehe es
%Vor%Danke, Victor
Sie werden Ihre Änderungen wahrscheinlich nicht übernehmen. Legen Sie Eigenschaften wie folgt fest
%Vor%Ohne das Commit furzt du im Wind.
um den Wert in pref
zu erhalten %Vor%um vlue zu speichern, verwenden Sie onstoe oder onPause methds
%Vor%Das funktioniert für mich gut und gesund
Wenn Sie für API-Ebene entwickeln? und darüber sollten Sie editor.apply()
anstelle von editor.commit()
verwenden, wenn Sie Ihre Einstellungen programmatisch ändern. editor.commit()
wurde veraltet und editor.apply()
behandelt die tatsächliche Persistenz im Hintergrund, was editor.commit()
nicht tut.
Beachten Sie, dass editor.apply()
, falls es fehlschlägt, dies stillschweigend tut.
Die Einstellungen werden erst gespeichert, wenn Sie sie festgeschrieben haben, z. B .:
%Vor%BEARBEITEN : Das obige hat einen kleinen Fehler (aus Kommentaren); Sie müssen den Verweis auf das Editorobjekt beibehalten, andernfalls wird das obige Beispiel, das den Wert festschreibt, eine neue Instanz erstellen. Sollte sein:
%Vor%Als Referenz finden Sie in der Android-Dokumentation :
Beachten Sie, dass Sie commit () aufrufen müssen habe irgendwelche Änderungen, die du ausführst Der Editor wird tatsächlich in SharedPreferences angezeigt.
Tags und Links android session sharedpreferences