Sobes.tech
Junior — Middle

Millised meetodid tagavad andmete oleku säilitamise Androidis Activity uuesti loomisel?

sobes.tech AI

Vastus AI-lt

Säilitamaks andmete olekut, kui Androidi tegevus uuesti luuakse, kasutatakse tavaliselt oleku salvestamise ja taastamise meetodeid läbi Bundle.

Peamised lähenemisviisid:

  • Ülekirjutada meetod onSaveInstanceState(Bundle outState) ja salvestada vajalikud andmed outState-sse.
  • Meetodites onCreate(Bundle savedInstanceState) või onRestoreInstanceState(Bundle savedInstanceState) taastada andmed savedInstanceState-st.

Näide:

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

Samuti saab kasutada ViewModel-i andmete salvestamiseks, mis jäävad ellu tegevuse uuesti loomise ajal ning ei nõua nende käsitsi salvestamist Bundle-isse.