2016-04-28 23 views
0

Ich kann eine Anwendung mit OnPause und OnResume speichern und wiederherstellen. Ich tat es, wenn der Benutzer die Zurück-Taste drückte, wenn er das Tablet drehte und wenn er die Home-Taste drückte. Aber mein Problem ist, ich weiß nicht, wie man das gleiche macht, wenn der Benutzer die Anwendung ausschaltet.So speichern Sie meine Daten, wenn ich eine Android-Anwendung verlassen

So würde ich gerne wissen, wie ich meine App im gleichen Zustand wiederherstellen, war es, wenn der Benutzer die App ausschalten? In welchem ​​Moment rette ich den Staat?

Vielen Dank für Ihre Hilfe!

Antwort

0

Der einfachste Datenspeicher, den Sie verwenden können, ist SharedPreferences.

Einige Beispiele finden Sie hier:

https://developer.android.com/guide/topics/data/data-storage.html#pref

Android Shared preferences example

+0

Vielen Dank für Ihre Antwort! Sind Sie sicher, dass ich die Anwendung oder das Handy ausschalten und meinen Status mit SharedPreferences wiederfinden kann? – ValentinLoricourt

+0

Ja, ich bin mir absolut sicher. Diese Daten bleiben in Benutzersitzungen erhalten (selbst wenn Ihre Anwendung beendet wird). –

+0

Ok, ich werde es versuchen. Können Sie mir einfach sagen, warum sollte ich SharedPreferences und nicht OnDestroy (von der anderen Antwort) verwenden: Ich sehe keine Unterschiede ... (Es gibt eine Menge zu tun, ich hatte bereits OnSavedInstance zu beseitigen, weil ich eine viele Daten, aber ich entdecke jetzt zwei weitere Methoden) – ValentinLoricourt

0

Android Aktivität ruft onDestroy() -Methode vor, kurz bevor es zerstört wird. Sie können Ihre Logik implementieren, um dort einen Zustand zu speichern. Aktivitätslebenszyklus prüfen, um mehr zu erfahren. http://developer.android.com/training/basics/activity-lifecycle/index.html

+0

Danke. Ich habe diese Methode irgendwo gesehen, aber mein Problem war, dass ich nicht weiß, wie ich den Zustand wiederherstellen kann (gespeichert von onDestroy)? Und ich nur meinen Code duplizieren, um von OnPause zu onDestroy zu speichern: es gibt nichts mehr zu tun, um den Staat zu retten? – ValentinLoricourt

+0

Sie können Ihre Klasse serialisierbar markieren und dann die Serialisierungstechnik von Java verwenden, um den Zustand eines Objekts zu speichern und abzurufen. – Anurag

+0

Ich weiß das nicht, ich werde über die Serialisierung lernen. Danke für Ihre Hilfe ! – ValentinLoricourt