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-ის ინფრასტრუქტურის ფარგლებში, და დეველოპერი უბრალოდ იყენებს მას მდგომარეობის შენახვისთვის.