| |||||||
Das Thema "Was passiert beim Kippen des Handys?" befindet sich unter Android App Entwicklung auf Android-Hilfe.de.
|
| | Themen-Optionen | Ansicht |
| | #1 (permalink) |
| Fortgeschrittenes Mitglied Modell: HTC Evo 3D Registriert seit: 20.06.2009
Beiträge: 312
Abgegebene Danke: 1
Erhielt 2 Danke für 2 Beiträge
| 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... |
| | |
| | #2 (permalink) |
| Fortgeschrittenes Mitglied Modell: HTC Desire Registriert seit: 08.04.2009
Beiträge: 441
Abgegebene Danke: 10
Erhielt 69 Danke für 49 Beiträge
|
Hi. Alles hier nachzulesen (ruhig die ganze Blog-Reihe lesen): Rotational Forces…On Your Android App | AndroidGuys Gruß, Shini |
| | |
| | #3 (permalink) |
| freier Samsungsupporter Registriert seit: 05.08.2009
Beiträge: 119
Abgegebene Danke: 18
Erhielt 9 Danke für 7 Beiträge
|
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
__________________ follow me || Mod im SAMSUNG mob!le Forum Apps: Ist mein Zug pünktlich? | Fläschchenmixer Geräte: Galaxy S & Galaxy & Spica |
| | |
| | #4 (permalink) |
| Neuer Benutzer Registriert seit: 22.04.2010
Beiträge: 6
Abgegebene Danke: 0
Erhielt 0 Danke für 0 Beiträge
|
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 |
| | |
| | #5 (permalink) |
| Android Guru Modell: T-Mobile G1, Nexus One, Samsung Galaxy Tab 10.1, Samsung Galaxy Nexus Registriert seit: 04.05.2009
Beiträge: 1.599
Abgegebene Danke: 128
Erhielt 210 Danke für 193 Beiträge
|
In der Activity. Die Methoden werden vom Framework aufgerufen. Developing Orientation-Aware Android Applications |
| | |
| | #6 (permalink) |
| Neuer Benutzer Registriert seit: 22.04.2010
Beiträge: 6
Abgegebene Danke: 0
Erhielt 0 Danke für 0 Beiträge
|
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ß |
| | |
| | #7 (permalink) |
| Android Guru Modell: T-Mobile G1, Nexus One, Samsung Galaxy Tab 10.1, Samsung Galaxy Nexus Registriert seit: 04.05.2009
Beiträge: 1.599
Abgegebene Danke: 128
Erhielt 210 Danke für 193 Beiträge
|
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...). |
| | |
| | #8 (permalink) |
| Neuer Benutzer Registriert seit: 22.04.2010
Beiträge: 6
Abgegebene Danke: 0
Erhielt 0 Danke für 0 Beiträge
|
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 |
| | |
| | #9 (permalink) |
| Moderator Modell: ZTE San Francisco; Moto Defy; HTC One S Registriert seit: 26.11.2009
Beiträge: 4.286
Abgegebene Danke: 566
Erhielt 655 Danke für 519 Beiträge
|
Ich meine dazu gibt es ein gutes Kapitel in diesem Anfänger-Android-Buch. Seite 240 des .pdfs bzw 225 des Buches erklärt dein Problem sehr genau! http://www.dpunkt.de/ebooks_pdf/free/3436.pdf |
| | |
| | #10 (permalink) | |
| Android Guru Modell: Samsung Galaxy S (I9000) Registriert seit: 21.12.2009
Beiträge: 2.572
Abgegebene Danke: 76
Erhielt 506 Danke für 295 Beiträge
| Zitat:
Der Home Button ruft lediglich onStop() auf.
__________________ Meine Apps: GTalk Widget free Filehosting mit direkt download links & ohne werbung | |
| | |
![]() |
|
| Themen-Optionen | |
| Ansicht | |
| |
| ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| keine automatische ausrichtung des display beim drehen | smarti | Samsung Galaxy (I7500) Forum | 5 | 08.12.2010 09:36 |
| Was passiert wenn ... | DuxFreak | Root / Hacking / Modding für T-Mobile G1 | 8 | 19.10.2009 19:09 |
| mißgeschick passiert [Gelöst] | ralli50 | Android Allgemein | 2 | 19.07.2009 09:21 |
| Google Account Kennwort ändern was passiert auf G1? | cobii | T-Mobile G1 Forum | 9 | 07.04.2009 10:18 |