Sobes.tech
Junior — Middle

Оё метавонед шарҳ диҳед, ки кӣ даъвати функсияи onSavedStateHandle-ро дар Android оғоз мекунад?

sobes.tech AI

Ҷавоб аз AI

Дар Android, SavedStateHandle истифода мешавад барои нигоҳ доштани ва барқарор кардани ҳолати ViewModel дар вақти такрори сохтан, масалан, дар вақти гардиши экран.

Функсия ё усули вобаста ба SavedStateHandle одатан аз ҷониби системаи Android Architecture Components даъват мешавад. Инициатори даъват фреймворки ViewModelProvider аст, ки ҳангоми сохтани ViewModel объект SavedStateHandle-ро ба конструктори ViewModel мегузарад.

Яъне, таҳиягар ViewModel-ро бо параметри SavedStateHandle эълон мекунад, ва ҳангоми сохтани ViewModel, систем автоматӣ ин объектро мегузарад. Мисол:

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

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

Бинобар ин, даъват ва идоракунии SavedStateHandle дар дохили инфрасохтории Android сурат мегирад, ва таҳиягар одатан онро барои нигоҳ доштани ҳолат истифода мебарад.