Sobes.tech
Junior — Middle

Milyen módszerek biztosítják az adatok állapotának megőrzését az Androidban egy Activity újraalkotásakor?

sobes.tech MI

Válasz az MI-től

Az Androidban az Activity újraalkotásakor az adatok állapotának megőrzéséhez általában az állapot mentésére és visszaállítására szolgáló módszereket használják Bundle segítségével.

Fő megközelítések:

  • Felülírni az onSaveInstanceState(Bundle outState) metódust, és a szükséges adatokat elmenteni az outState-be.
  • Az onCreate(Bundle savedInstanceState) vagy az onRestoreInstanceState(Bundle savedInstanceState) metódusban az adatokat visszaállítani a savedInstanceState-ből.

Példa:

@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");
    }
}

Szintén használható a ViewModel az adatok tárolására, amelyek túlélnek az Activity újraalkotását anélkül, hogy manuálisan kellene őket menteni Bundle-be.