Junior — Middle
Kokius metodus žinote naudotojo sąsajos būsenai išsaugoti programose?
sobes.tech AI
Atsakymas iš AI
Norint išsaugoti naudotojo sąsajos būseną Android programose, naudojami šie metodai:
-
onSaveInstanceState(Bundle outState) ir onRestoreInstanceState(Bundle savedInstanceState) — leidžia išsaugoti ir atkurti Activity ar Fragment būseną jų iš naujo sukūrus (pavyzdžiui, ekrano pasukimo metu).
-
ViewModel — saugo su UI susijusius duomenis ir išlieka po konfigūracijos pakeitimų, neprarandant būsenos.
-
SharedPreferences — naudojama paprastų duomenų (nustatymai, vėliavėlės) išsaugojimui tarp programos seansų.
-
Būsenos išsaugojimas duomenų bazėje ar failuose — sudėtingesniems ar didesniems duomenims.
-
SavedStateHandle — kartu su ViewModel leidžia išsaugoti ir atkurti UI būseną.
Pavyzdys, kaip išsaugoti teksto lauko būseną Activity:
@Override
protected void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
outState.putString("input_text", editText.getText().toString());
}
@Override
protected void onRestoreInstanceState(Bundle savedInstanceState) {
super.onRestoreInstanceState(savedInstanceState);
String text = savedInstanceState.getString("input_text");
editText.setText(text);
}