2016-03-29 9 views
1

Ich habe eine Android-Anwendung, die eigentlich ein Indoor-Positionierungssystem ist, mit einer SQLite-Datenbank. Wenn der Benutzer die App öffnet, muss er sie zuerst kalibrieren. Das heißt, Scan-Position im Veranstaltungsort, dann App Rssi X, Y-Werte in einer SQLite-Datenbank erfasst DANN zeigt es die Position des Benutzers. Wenn ich jedoch die App verlasse und sie wieder öffne, muss ich den gesamten Prozess der Kalibrierung durchlaufen.Daten gelöscht auf Anwendung beenden

Die Daten werden aus der Datenbank gelöscht, was den Benutzer zwingt, ihn jedes Mal neu zu kalibrieren, wenn er die Anwendung startet. Kann mir jemand helfen, die Löschung der Aufzeichnungen zu verhindern? Vielen Dank.

Antwort

0

Dies ist, weil es ein kurzlebiges Objekt ist. Wenn Sie Ihre Anwendung schließen, wird dieses Objekt in der onStop-Methode der Aktivität wiederverwendet. Wenn ich Sie wäre, würde ich in Erwägung ziehen, die Kalibrierungseinstellungen entweder in einer SQLite-Datenbank oder in der Datenbank für freigegebene Einstellungen zu speichern, damit der Benutzer nicht ständig neu kalibrieren muss. Die Implementierung hängt wirklich davon ab, was für das zu kalibrierende Gerät gespeichert werden muss.

Dieser Link sollte helfen Aktivität Lifecycles zu erklären:

http://developer.android.com/training/basics/activity-lifecycle/index.html

http://developer.android.com/training/basics/activity-lifecycle/stopping.html

0

Sie werden die Methode onSavedInstanceState() Methode außer Kraft setzen müssen.

Siehe bitte this question, wo das im Detail beschrieben wird.

Verwandte Themen