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