Was passiert beim Kippen des Handys?

S

Samsung I7500

Erfahrenes Mitglied
5
Moinsen!

Wenn ich irgendwas in meiner Anwendung mache, und das Handy dann kippe, ist die Anwendung danach zurückgesetzt, als wäre die Activity frisch gestartet. Zudem werden dadurch lustigerweise noch Fehler verursacht. Daher die Frage, was genau passiert beim Kippen des Handys?

Wird die activity neu gestartet (obwohl diese mit Single Flag läuft)? Kann ich das irgendwie unterbinden und die Activity einfach nur drehen oder halt so steuern, dass meine Informationen bzw. bereits getätigten Tätigkeiten nicht einfach so zurückgesetzt werden?

Merci... :)
 
onCreate wird nach dem Rotieren erneut aufgerufen. :(

Ich speichere mit onSaveInstanceState (wird vor dem Drehen ausgeführt) den Zustand der Activity und lade diesen nach dem drehen wieder mit onRestoreInstanceState (wird nach dem Drehen aufgerufen...

SirMArtin
 
Hallo!

Wie bzw. wo genau muss man diese beiden Methoden setzen damit vor dem Rotieren die Instanz gespeichert und nach dem Rotieren wieder restored wird?

Grüßle
 
Hallo,

den link kann man leider nur sehen, wenn man sich registriert hat.

Die Methode "onSaveInstanceState(Bundle)" wird automatisch aufgerufen, bevor die Activity in den Hintergrund befördert wird, ja?
Und damit bekommt "onCreate" das so gesicherte Bundle beim neuen Aufruf der Acticity wieder, oder?
Die Frage ist nun: Wo wird das Bundle denn gesichert?
Reden wir hier nur von einer Zwischenspeicherung im RAM solange die App offen ist und nur die eine Activity in den Hintergrund rutscht?
Denn ich habe nun ein Boolean Flag eingeführt, welches bei einer Rotation nicht mehr alle Methoden der onCreate nochmal ausführen soll. Das funktioniert nun soweit. Allerdings geht diese Information flöten, nachdem man die Anwendung komplett schliesst. Ist das Bundle damit verloren?

Gruß
 
Nein das Bundle geht nicht verloren, dafür ists ja da ;)

Wegen des Links: Such mal nach "Developing Orientation-Aware Android Applications", der erste Link bei Google ist der Richtige (daher hatte ich ihn auch, verrückt dass er über Google geht aber wenn man ihn kopiert nicht...).
 
Das ist seltsam, denn innerhalb der offenen Activity wird der Boolean Wert beibehalten. Wenn ich die Activity aber mit den "Zurück"-Knopf schliesse, ist nach dem Neustart dieser Boolean Wert wieder auf False.
Vermutlich weil die gesamte Klasseninstanz wieder neu gesetzt wird. Und da wird auch der Boolean wieder auf "false" gesetzt, oder?
Hmm..

Grüßle
 
lindijones schrieb:
Das ist seltsam, denn innerhalb der offenen Activity wird der Boolean Wert beibehalten. Wenn ich die Activity aber mit den "Zurück"-Knopf schliesse, ist nach dem Neustart dieser Boolean Wert wieder auf False.
Vermutlich weil die gesamte Klasseninstanz wieder neu gesetzt wird. Und da wird auch der Boolean wieder auf "false" gesetzt, oder?
Hmm..

Grüßle

Solange du die onKeyDown(...) nicht überschreibst, ruft der Back Key standardmäßig finish() bzw. die onDestroy() Methode auf.
Der Home Button ruft lediglich onStop() auf.
 

Ähnliche Themen

S
  • Sempervivum
Antworten
2
Aufrufe
607
Sempervivum
S
U
  • unerfahrenerAppEntwickler
Antworten
3
Aufrufe
709
swa00
swa00
A
Antworten
1
Aufrufe
641
swa00
swa00
Zurück
Oben Unten