2017-07-02 11 views
-1

Denken Sie an eine Aktivität, die eine Umschaltfläche enthält, und der Benutzer kann häufig seinen Status ändern, und ich muss diesen Status in der Datenbank speichern. Es scheint nicht rational, es bei jedem Klick zu speichern! Also habe ich beschlossen, solche Änderungen in onStop() meiner Aktivität zu speichern, aber ich frage mich, ob das der richtige Ort ist? was schlägst du dafür vor? Dank vielWo ist der beste Ort, um häufig wechselnde Daten zu speichern?

Antwort

1

Hier ist ein Bild des Lebenszyklus von Aktivitäten:

activity lifecycle

Wenn Sie die Daten in einer Datenbank im onStop() Methode speichern, die Daten gespeichert werden, wenn die Aktivität ist nicht mehr sichtbar . Das ist wahrscheinlich das, was du willst.

onDestroy() nicht der richtige Ort ist, um die Daten in die Datenbank zu speichern, weil es keine Garantie dafür gibt, dass onDestroy() (siehe this StackOverflow question

Sie onPause() auch, wenn Sie z. B. mögen, können genannt werden, wenn es Ist eine transluzente Aktivität geöffnet, wird onPause() aufgerufen, aber onStop() wird nicht angezeigt, da die Aktivität noch sichtbar ist.

+0

also schlage ich onStop() vor wie das, was ich gesagt habe? –

+0

Es spielt eigentlich keine Rolle, ob man onPause() oder onStop (), aber yeah ... onStop() ist ein üblicher Ort, um die Datenbank zu aktualisieren –

+0

Nicht Vergiss nicht, die Antwort als akzeptiert zu markieren, wenn sie dein Problem gelöst hat ;-) –

Verwandte Themen