Sobes.tech
Junior — Middle

Mida tuleb arvestada rakenduse oleku salvestamisel, kasutades meetodit onSaveInstanceState?

sobes.tech AI

Vastus AI-lt

Kasutades onSaveInstanceState, on oluline meeles pidada:

  • Salvesta ainult väiksed ja vajalikud andmed, näiteks kasutajaliidese olek (tekst väljad, valitud elemendid).
  • Ära salvesta suuri objekte või andmeid, mida saab taastada muul viisil (näiteks andmebaasist või võrgust).
  • onSaveInstanceState kutsutakse enne tegevuse hävitamist, näiteks ekraani pööramisel.
  • Andmete taastamine toimub meetodites onCreate või onRestoreInstanceState.
  • Kasuta Bundle'i andmete salvestamiseks, toetab primitiivseid tüüpe, Serializable, Parcelable.

Näide, kuidas salvestada tekst EditText-ist:

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)
}