Sobes.tech
Junior — Middle

Кадом усулҳоро барои нигоҳ доштани ҳолати интерфейси корбар дар барномаҳо медонед?

sobes.tech AI

Ҷавоб аз AI

Барои нигоҳ доштани ҳолати интерфейси корбар дар барномаҳои Android, усулҳои зерин истифода мешаванд:

  1. onSaveInstanceState(Bundle outState) ва onRestoreInstanceState(Bundle savedInstanceState) — имкон медиҳанд, ки ҳолати Activity ё Fragment дар вақти барқарорсозӣ (масалан, дар вақти гардиши экран) нигоҳ дошта шавад ва барқарор карда шавад.

  2. ViewModel — маълумотҳои марбут ба UI-ро нигоҳ медорад ва дар тағйироти конфигуратсия, бе аз даст додани ҳолат, зиндагӣ мекунад.

  3. SharedPreferences — барои нигоҳ доштани маълумоти содда (танзимотҳо, рамзҳо) байни сессияҳои барнома.

  4. Нигоҳ доштани ҳолат дар базаи додаҳо ё файлҳо — барои маълумоти мураккаб ё калон.

  5. SavedStateHandle — дар ҳамоҳангӣ бо ViewModel, имкон медиҳад, ки ҳолати UI-ро нигоҳ дошта ва барқарор кард.

Масалан, дар 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);
}