Sobes.tech
Junior — Middle

Na čo je potrebné myslieť pri ukladaní stavu aplikácie pomocou metódy onSaveInstanceState?

sobes.tech AI

Odpoveď od AI

Pri používaní onSaveInstanceState je dôležité pamätať:

  • Ukladajte iba malé a nevyhnutné údaje, ako je stav používateľského rozhrania (text v poliach, vybrané prvky).
  • Neukladajte veľké objekty alebo údaje, ktoré je možné obnoviť iným spôsobom (napríklad z databázy alebo siete).
  • onSaveInstanceState sa volá pred zničením aktivity, napríklad pri otáčaní obrazovky.
  • Obnovenie údajov prebieha v metódach onCreate alebo onRestoreInstanceState.
  • Používajte Bundle na uloženie údajov, podporuje primitívne typy, Serializable, Parcelable.

Príklad uloženia textu z 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)
}