Junior — Middle
Milyen módszerekkel lehet fenntartani és helyreállítani az Activity állapotát Androidban?
sobes.tech MI
Válasz az MI-től
Androidban a következő módszereket használják az Activity állapotának megőrzésére és visszaállítására:
-
onSaveInstanceState(Bundle outState) — az Activity megsemmisítése előtt hívódik meg, itt elmenthetjük az állapotot (pl. űrlapmezők értékeit) egy Bundle objektumba.
-
onRestoreInstanceState(Bundle savedInstanceState) vagy a Bundle fogadása az onCreate(Bundle savedInstanceState)-ben — itt állítják vissza a mentett adatokat.
-
ViewModel — architektúra komponens, amely a konfigurációs változások (pl. képernyőforgatás) során megőrzi az adatokat, és nem függ az Activity életciklusától.
-
Adatok mentése tartós tárolóba (SharedPreferences, adatbázis) — hosszabb távú tárolásra.
Állapot mentés példája:
@Override
protected void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
outState.putString("key", editText.getText().toString());
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
if (savedInstanceState != null) {
String text = savedInstanceState.getString("key");
editText.setText(text);
}
}