Sobes.tech
Junior — Middle

Ce trebuie avut în vedere atunci când salvați starea aplicației folosind metoda onSaveInstanceState?

sobes.tech AI

Răspuns de la AI

Atunci când utilizați onSaveInstanceState, este important să rețineți:

  • Salvați doar date mici și necesare, cum ar fi starea interfeței utilizatorului (text în câmpuri, elemente selectate).
  • Nu salvați obiecte mari sau date care pot fi recuperate în alt mod (de exemplu, dintr-o bază de date sau rețea).
  • onSaveInstanceState este apelat înainte de distrugerea activității, de exemplu, la rotirea ecranului.
  • Recuperarea datelor are loc în metoda onCreate sau onRestoreInstanceState.
  • Utilizați Bundle pentru a salva datele, suportă tipuri primitive, Serializable, Parcelable.

Exemplu de salvare a textului dintr-un EditText:

override fun onSaveInstanceState(outState: Bundle) {
    super.onSaveInstanceState(outState)
    outState.putString("input_text", editText.text.toString())
}

override fun onRestoreInstanceState(savedInstanceState: Bundle) {
    super.onRestoreInstanceState(savedInstanceState)
    val text = savedInstanceState.getString("input_text")
    editText.setText(text)
}