Eingaben speichern nach Activity wechsel

  • Antworten:9
  • Bentwortet
Markus
  • Forum-Beiträge: 20

15.11.2012, 14:39:36 via Website

Hallo zusammen,

mal wieder eine Frage...
Ich habe eine Tabbar und auf einem Reiter gibt es die Möglichkeit in 3 Textfelder Eingaben zur Person zu hinterlegen. (Name Tel und EMail)
Sobald man vom Einstellungen reiter auf einen der anderen geht sollen die getätigten Eingaben automatisch lokal gespeichert werden.
Wenn man die App erneut aufruft müssen die gespeicherten Daten jedoch wieder abrufbar sein.
Wie realisiert man sowas unter Android am besten?
XML?
Datenbank - zu umständlich?
TXT Datei?

hat vielleicht jemand von euch da was Parat?
Freue mich über antworten Danke

Antworten
Stefan S.
  • Forum-Beiträge: 560

16.11.2012, 09:46:07 via Website

Rafael K.
Das einfachste sind wohl SharedPreferences

Bei dieser Menge würde ich auch die SharedPreferences bevorzugen.
Hast du eine grössere Menge an Werten würde ich eine kleine SQLight DB machen.

Markus

Antworten
Markus
  • Forum-Beiträge: 20

16.11.2012, 10:11:22 via Website

Ok vielen Dank für dieses Stichwort
hat soweit auch funktioniert.

allerdings speicher ich die Daten jetzt mit einem Button da ich es nicht anderst hinbekommen habe.
Allerdings möchte ich das die sachen gespeichert werden wenn ich die Activity wechsel.
Gibt es da eine Möglichkeit?

Antworten
Stefan S.
  • Forum-Beiträge: 560

16.11.2012, 10:50:16 via Website

z.B. im onDestroy

Antworten
Rafael K.
  • Forum-Beiträge: 2.359

16.11.2012, 10:51:51 via Website

Stefan S.
z.B. im onDestroy
Würde es eher im onPause oder onStop machen, weil das onDestroy im Zweifel nicht aufgerufen wird, wenn Andy der Androide schnell Speicher frei machen muss.

Zitat aus JavaDoc zu onDestroy()
Note: do not count on this method being called as a place for saving data! For example, if an activity is editing data in a content provider, those edits should be committed in either onPause() or onSaveInstanceState(Bundle), not here. This method is usually implemented to free resources like threads that are associated with an activity, so that a destroyed activity does not leave such things around while the rest of its application is still running. There are situations where the system will simply kill the activity's hosting process without calling this method (or any others) in it, so it should not be used to do things that are intended to remain around after the process goes away.

— geändert am 16.11.2012, 10:54:34

Markus

Antworten
Stefan S.
  • Forum-Beiträge: 560

16.11.2012, 10:58:39 via Website

Rafael K.
Stefan S.
z.B. im onDestroy
Würde es eher im onPause oder onStop machen, weil das onDestroy im Zweifel nicht aufgerufen wird, wenn Andy der Androide schnell Speicher frei machen muss.

Zitat aus JavaDoc zu onDestroy()
Note: do not count on this method being called as a place for saving data! For example, if an activity is editing data in a content provider, those edits should be committed in either onPause() or onSaveInstanceState(Bundle), not here. This method is usually implemented to free resources like threads that are associated with an activity, so that a destroyed activity does not leave such things around while the rest of its application is still running. There are situations where the system will simply kill the activity's hosting process without calling this method (or any others) in it, so it should not be used to do things that are intended to remain around after the process goes away.

Danke für den Hinweis. Ich meinte eigentlich auch das onStop. Hatte eben eine Klasse offen und musste etwas im onDestroy schreiben ;)

Antworten
Markus
  • Forum-Beiträge: 20

16.11.2012, 17:03:06 via Website

Hallo nochmal zusammen,

hat bis jetzt alles eigentlich super Funktioniert jedoch ein letztes Problem habe ich noch.

Und zwar:
1. Ich starte die App und gehe auf Einstellungen.
2. Einstellungen bearbeiten und Einträge werden gespeichert.
3. Klick auf Neuer Eintrag aber die eingetragenen Einstellungen werden nicht angezeigt.
4. Wenn ich die App Beende (über Taskmanager)
5. App wieder starten
6. Klick auf Neuer Eintrag aber die zuvor gespeicherten Einstellung werden angezeigt.

Heißt ich muss irgendwie die Activity updaten zur Laufzeit wenn ich den Tab wechsel ist sowas möglich??

Antworten
Markus
  • Forum-Beiträge: 20

19.11.2012, 11:23:19 via Website

Vielen Dank an alle die mir bei meinen Problemem geholfen haben

Antworten