Shared Preferences

  • 10 Antworten
  • Letztes Antwortdatum
N

Nettit

Neues Mitglied
0
Ich programmiere seit längerem an einer App herum.

Seit neusten habe ich das Problem, dass die Shared Preferences nicht langfristig gespeichert werden. Wenn ich die App öffne und Werte speichere, sie dann beende und direkt wieder öffne, dann sind sie noch da.
Liegt allerdings zwischen Öffnen und Schließen ein Längerer Zeitraum, so werden die Dateien alle gelöscht.


Wisst ihr woran das liegen könnte?

Meine Vermutung ist, dass andere Programme an der Shared Preferences XML irgendetwas tun, auch wenn mir das rätselhaft vorkommt.

Kennt jemand das Phänomen oder sogar eine Lösung dazu.

mfg

Nettit
 
Normal ist das nicht. Evtl. Apps die die Cache cleanen? Wäre für mich die einzigste Möglichkeit

Gesendet von meinem GT-S5660 mit der Android-Hilfe.de App
 
Vielen dank für den Tipp, aber das hatte ich schonmal getestet und es hat auch nicht geholfen.
Ich habe die App auch meine Familie testen lassen, und die hatten das selbe Problem. Dachte nämlich zuerst, es lege an meinem Handy :D
 
also sprich immer schön darauf achten das man Mode: PRIVATE benutz?!
 
Ab API 17 sind sowieso alle "MODS" außer "private" Drepreced. Von daher zukünftig sowieso uninteresant.

Wenn man aber noch händich das MOD "Write_World_Wide" setzt, dann haben ALLE Applications zugriff auf das PreferenceFile.

Gruß
 
  • Danke
Reaktionen: Madlip
Ich turne ja noch nicht so lange in der Android-Welt rum, aber in meinem schlauen Buch steht, dass die SharedPreferences nach einem Device restart gelöscht sind. Vielleicht ist das ja der "längere Zeitraum" ... ?

SharedPrefs eignen sich nur für das Speichern von sessionbasierten Daten.

Also internen Speicher oder eine SQLite-Datenbank.

Kannst das ja mal testen. Device restarten sollte die SharedPrefs löschen.

Berichtigt mich, falls die Info aus dem Buch überholt ist.

Gruß,
Thomas
 
Also inzwischen kann ich den Fehler noch detailierter beschreiben.


Wenn ich das richtig verstehe, dann laufen bei Android immer Applikationen im Hintergrund.
Bei meinem Google Nexus bringt einen ein Klick auf die Taste neben der "Home taste" direkt in die Übersicht dahin.

Wenn ich nun die App im Hintergrund noch laufen lasse, dann werden die Daten gespeichert.
Sobald ich jetzt aber die App aus dem Hintergrund entfernt wird ( sowohl manuell als auch automatisch von Android System) dann gehen meine Shared Preferences auch verloren.

Weiß jemand woran das liegen könnte?

PS: Shared Preference sind im PRIVATE modus, oder ist 0 ein anderer Modus ?
 
Kannst Du mal bitte Deinen Code hier posten? Also den Teil, wo Du die SharedPrefs speicherst.

Vielleicht speicherst Du ja gar nichts, sondern hast es lediglich in irgendeiner Klasse vorgehalten. Das wäre eine Erklärung für das Verhalten.

Gruß,
Thomas
 
toomuchcoffeeman schrieb:
Ich turne ja noch nicht so lange in der Android-Welt rum, aber in meinem schlauen Buch steht, dass die SharedPreferences nach einem Device restart gelöscht sind. Vielleicht ist das ja der "längere Zeitraum" ... ?

SharedPrefs eignen sich nur für das Speichern von sessionbasierten Daten.

Also internen Speicher oder eine SQLite-Datenbank.

Kannst das ja mal testen. Device restarten sollte die SharedPrefs löschen.

Berichtigt mich, falls die Info aus dem Buch überholt ist.

Gruß,
Thomas

Das ist quatsch. SharedPreferences werden eigentlich seit jeher (ok, seit ich Android programmiere, ca 1.6) auf dem internen Speicher abgelegt und bleiben über Systemneustart-Grenzen hinweg erhalten.
Welches Buch ist das denn?

Zum Problem an sich: ich kann es auch absolut nicht nachvollziehen. Vielleicht bitte wirklich mal den Code posten mit dem du die Sachen speicherst.
 
Zurück
Oben Unten