Sobes.tech
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);
    }
}