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 azoutState-be. - Az
onCreate(Bundle savedInstanceState)vagy azonRestoreInstanceState(Bundle savedInstanceState)metódusban az adatokat visszaállítani asavedInstanceState-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.