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