Sobes.tech
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:

  1. 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).

  2. ViewModel — saugo su UI susijusius duomenis ir išlieka po konfigūracijos pakeitimų, neprarandant būsenos.

  3. SharedPreferences — naudojama paprastų duomenų (nustatymai, vėliavėlės) išsaugojimui tarp programos seansų.

  4. Būsenos išsaugojimas duomenų bazėje ar failuose — sudėtingesniems ar didesniems duomenims.

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