Android Java - Methode vor MainActivity.onCreate()?

Hallo miteinander,

bin grad erst mal wieder am Einsteigen in ein altes Hobby und dachte nach swing mit Java schau ich mir mal eine android an. Hab eine alte selbstgeschriebene App genommen und wollte die jetzt auf Android portieren.

Nun die Frage:
Habe entdeckt und das ist auch gut beschrieben, dass die Klasse MainActivity mit ihrer ersten Methode onCreate() zB beim Bildschirm Drehen zerstört und wieder neu aufgebaut wird. Hatte alle init Sachen darin, wie ini/cfg lesen und einstellen, Wörterbücher für Vokabeln lesen und zufällig welche zum lernen raussuchen. Das sehe ich nun mit toasts, wird alles beim Drehen des BS wieder von vorne begonnen, was ja gar keinen Sinn macht - nur die UI Aktualisierungen sollten von vorne beginnen. intis sollten nur EINMAL durchlaufen werden.
Wo kann ich oben beschriebene Dinge realisieren, die persistent bestehen bleiben sollten?
Gibt es eine Methode, die vorher schon aufgerufen wird, wo ich das unterbringen kann?

Hallo!
Eine Activity kümmert sich ausschließlich um eine einzelne GUI, quasi ein Fenster. Letztendlich könnte man fast sagen, eine Activity ist eine GUI.
Die GUI, und damit die Activity wird gekillt, wenn man den Bildschirm dreht, und die App konfiguriert ist, darauf zu reagieren. Die einfachste Lösung ist also, das im Manifest zu ändern.

Vor dem Killen wird aber onSaveInstanceState(Bundle) aufgerufen, damit hast du die Möglichkeit, noch schnell ein paar Daten in dem Bundle in Sicherheit zu bringen. Dieses Bundle bekommst du beim nächsten onCreate(Bundle) wieder zurück, und kannst deine Daten da raus holen. Denk aber dran, daß das Bundle leer oder sogar null sein kann.

1 Like

Dank dir sweber!! Für deine schnelle Antwort.

Das mit dem Manifest werd ich mal weiter versuchen.
Das ist ein wunderbarer Ansatz! :slight_smile:

Grüße von Daniel