Sobes.tech
Junior — Middle

Puteți explica cine inițiază apelul funcției onSavedStateHandle în Android?

sobes.tech AI

Răspuns de la AI

În Android, SavedStateHandle este utilizat pentru a salva și restaura starea ViewModel-ului în timpul recreării, de exemplu, la rotirea ecranului.

Funcția sau metoda asociată cu SavedStateHandle este de obicei apelată de sistemul Android Architecture Components. Inițiatorul apelului este framework-ul ViewModelProvider, care, la crearea ViewModel-ului, transmite obiectul SavedStateHandle în constructorul ViewModel-ului.

Adică, dezvoltatorul declară un ViewModel cu parametrul SavedStateHandle, iar la crearea ViewModel-ului, sistemul transmite automat acest obiect. Exemplu:

class MyViewModel(private val state: SavedStateHandle) : ViewModel() {
    fun saveData(data: String) {
        state.set("key", data)
    }

    fun getData(): String? {
        return state.get("key")
    }
}

Astfel, apelul și gestionarea SavedStateHandle are loc în infrastructura Android, iar dezvoltatorul îl folosește pur și simplu pentru a salva starea.