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-ში, პროცესის განადგურების შემდეგ აღდგენისათვის.