savedInstanceState - für was verwendet man das?

  • Antworten:1
  • Bentwortet
Paule
  • Forum-Beiträge: 106

11.01.2014, 23:16:42 via Website

Hallo,

ich haber versucht zu verstehen für was man savedInstanceState in der onCreate Methode benutzt. Ich bin darauf gestoßen, weil ich meinem Activity Daten für Textfelder übergeben will um diese dann dort darzustellen. Dazu habe ich bei der Instanzierung des Activities noch Daten mittels putExtra übergeben und diese will ich dann im Activity in der onCreate Methode auslesen. In diesem Kontext habe ich savedInstanceState gefunden.

Nach dem Lesen habe ich folgendes verstanden. Man kann es verwenden um Daten zu speichern, aber dafür gibt es doch SharedPreferences?
Oder geht es hierbei um Daten die nur die eine Instanz des Activities betrifft?

Ein Beipiel: Ich lege eine Klassenvariable int test = 0 an. Dies ändere ich in einer Methode auf test = 1. Dann ändere ich die Orientierung des Handys, somit ist test = 0. Und um das zu verhindert kann ich savedInstanceState verwenden?

Grüße un Danke

Antworten
impjor
  • Forum-Beiträge: 1.793

12.01.2014, 12:48:00 via App

Ja, dein letzter Absatz erklärt die Funktionsweise richtig.

Willst du die extras abrufen, die du dem Intent von startActivity(...) übergeben hast, dann kannst du getIntent().... nutzen.

SharedPreferences sind mehr dazu da, um Einstellungen zu speichern (deswegen auch Preferences), savedInstanceState bezieht sich aber immer auf die Activity, SharedPreferences sind für alle Activitys gleich.

Siehe dazu: http://developer.android.com/training/basics/activity-lifecycle/recreating.html
Da wird auch erklärt, wie du Werte im Bundle speicherst.

LG

Liebe Grüße impjor.

Für ein gutes Miteinander: Unsere Regeln
Apps für jeden Einsatzzweck
Stellt eure App vor!

Antworten