Sobes.tech
Junior — Middle

Kokios metodikos užtikrina duomenų būsenos išsaugojimą pakartotinai kuriant Android Activity?

sobes.tech AI

Atsakymas iš AI

Norint išsaugoti duomenų būseną pakartotinai kuriant Android Activity, paprastai naudojami būsenos išsaugojimo ir atkūrimo metodai per Bundle.

Pagrindiniai požiūriai:

  • Perrašyti metodą onSaveInstanceState(Bundle outState) ir išsaugoti reikalingus duomenis outState.
  • Metoduose onCreate(Bundle savedInstanceState) arba onRestoreInstanceState(Bundle savedInstanceState) atkurti duomenis iš savedInstanceState.

Pavyzdys:

@Override
protected void onSaveInstanceState(Bundle outState) {
    super.onSaveInstanceState(outState);
    outState.putString("key", someValue);
}

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    if (savedInstanceState != null) {
        someValue = savedInstanceState.getString("key");
    }
}

Taip pat galima naudoti ViewModel duomenų saugojimui, kurie išgyvena Activity pakartotinį sukūrimą ir nereikalauja jų rankinio išsaugojimo į Bundle.