Cum se asigură păstrarea stării actuale a sistemului la schimbarea configurației?
sobes.tech AI
Răspuns de la AI
În Android, pentru a salva starea curentă a sistemului la schimbarea configurației (de exemplu, rotirea ecranului), se utilizează mecanismul de salvare a stării Activity sau Fragment.
Metodele principale:
-
onSaveInstanceState(Bundle outState) — metodă în care se pot salva datele necesare într-un obiect Bundle. Aceste date vor fi disponibile la recrearea Activity în metodele onCreate sau onRestoreInstanceState.
-
ViewModel — componentă din componentele arhitecturale Android, care păstrează datele la schimbarea configurației și nu se recreează împreună cu Activity.
-
Salvarea stării componentelor UI — multe widget-uri standard își salvează automat starea dacă au un identificator unic.
Exemplu de salvare a stării unui contor:
class MainActivity : AppCompatActivity() {
private var counter = 0
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
counter = savedInstanceState?.getInt("counter_key") ?: 0
// actualizează UI-ul cu valoarea curentă a counter
}
override fun onSaveInstanceState(outState: Bundle) {
super.onSaveInstanceState(outState)
outState.putInt("counter_key", counter)
}
}
Astfel, la schimbarea configurației, datele nu se vor pierde, iar utilizatorul va vedea aceeași interfață și stare.