Junior — Middle
Môžete vysvetliť, kto iniciuje volanie funkcie onSavedStateHandle v Android?
sobes.tech AI
Odpoveď od AI
V Androide sa SavedStateHandle používa na uloženie a obnovenie stavu ViewModel pri jeho znovuvytvorení, napríklad pri otočení obrazovky.
Funkcia alebo metóda spojená s SavedStateHandle je zvyčajne volaná systémom Android Architecture Components. Iniciátorom volania je framework ViewModelProvider, ktorý pri vytváraní ViewModel odovzdáva objekt SavedStateHandle do konštruktora ViewModel.
To znamená, že vývojár deklaruje ViewModel s parametrom SavedStateHandle, a pri vytváraní ViewModel systém automaticky odovzdá tento objekt. Príklad:
class MyViewModel(private val state: SavedStateHandle) : ViewModel() {
fun saveData(data: String) {
state.set("key", data)
}
fun getData(): String? {
return state.get("key")
}
}
Týmto spôsobom prebieha volanie a správa SavedStateHandle v rámci infraštruktúry Androidu, a vývojár ho jednoducho používa na uloženie stavu.