Wie benutzt man onPause mit Android?

7

mit onSaveInstanceState(Bundle ..) and onRestoreInstanceState(Bundle ..)
war wirklich gut und funktioniert, aber es funktioniert, wenn Sie auf dem Emulator auf die Schaltfläche Ausschalten klicken.
Jetzt möchte ich den Status speichern und die gespeicherten Daten wiederherstellen, wenn die Schaltfläche unten verwendet wird:

Ich denke, es ist möglich, OnPause () oder oOnStop () zu verwenden, wenn ich recht habe, wie man es benutzt,
es wird genug sein, um mir Java-Quelle zu zeigen, eine boolesche Variable zu speichern, und es wieder herzustellen,
Danke.

    
kimo 05.02.2011, 16:43
quelle

6 Antworten

13

Ich würde onPause() verwenden, da onStop() nicht garantiert aufgerufen werden kann. Einzelheiten zum Lebenszyklus finden Sie in den Anwendungsgrundlagen .

Um einen booleschen Wert zu speichern und wiederherzustellen, würde ich SharedPreferences verwenden. Auf der Seite zur Datenspeicherung finden Sie ein Codebeispiel, das zeigt, wie Sie speichern und stelle einen booleschen Wert wieder her. Sie verwenden onCreate() und onStop() , aber ich würde onResume() und onPause() verwenden, aus den Gründen, die ich bereits erwähnt habe.

    
dave.c 05.02.2011, 17:05
quelle
12

Ich hatte Probleme beim Lesen von sharedPreferences nach PowerOff, wenn sie mit onPause gespeichert wurden. Die Problemumgehung bestand darin, clear() zuerst aufzurufen.

%Vor%     
Tim 23.04.2012 04:02
quelle
5

das Beispiel:

%Vor%

}

    
kimo 05.02.2011 22:44
quelle
2

Siehe Schritt 7 und Schritt 8 im Android SDK-Notizblock-Lernprogramm Teil 3. Beispiel: Speichern des Status in einer SQL-DB (mit einer zuvor definierten db-helper-Klasse).

    
Macke 05.02.2011 17:02
quelle
0

In diesem Fall haben Sie keine andere Möglichkeit als Ihren Status auf eine der beschriebenen Arten dauerhaft zu machen in Android DevGuide

    
mcveat 05.02.2011 17:04
quelle
0

Sie können onPause () einfach in Ihrer Aktivität überschreiben, sagen Sie activtyA, wenn Sie zu einer anderen Aktivität navigieren, sagen Sie activityB und überschreiben Sie onResume (), wenn Sie zur activityA zurückkehren.

    
sat 05.02.2011 17:04
quelle

Tags und Links