Sobes.tech
Junior — Middle

როგორ ხორციელდება მონაცემების შენახვა ViewModel-ის შიგნით Android აპლიკაციებში?

sobes.tech AI

პასუხი AI-სგან

Android-ში ViewModel ინახავს მონაცემებს, რომლებიც უნდა გადარჩეს კონფიგურაციის ცვლილებების შემდეგ (მაგალითად, ეკრანის ბრუნვისას). ამისთვის, ViewModel ინახავს მდგომარეობას თავის ველებში, და Activity ან Fragment-ის ხელახლა შექმნისას, მონაცემები ხელმისაწვდომია რჩება.

თუ საჭიროა მონაცემების შენახვა სრული პროგრამის განადგურების შემთხვევაში, გამოიყენება SavedStateHandle — სპეციალური ობიექტი, რომელიც საშუალებას აძლევს მდგომარეობის შენახვას და აღდგენას.

მაგალითად, ViewModel-ის გამოყენება SavedStateHandle-თან:

კლასი MyViewModel(private val state: SavedStateHandle) : ViewModel() {
    var userName: String?
        get() = state["userName"]
        set(value) {
            state["userName"] = value
        }
}

ამ გზით, მონაცემები ViewModel-ის შიგნით მეხსიერებაში ინახება, და საჭიროების შემთხვევაში — SavedStateHandle-ში, პროცესის განადგურების შემდეგ აღდგენისათვის.