Junior — Middle
Πώς μπορούμε να αποθηκεύσουμε δεδομένα μέσα στο ViewModel για μελλοντική χρήση;
sobes.tech AI
Απάντηση από AI
Για την αποθήκευση δεδομένων μέσα στο ViewModel και την επανάχρησή τους, συνήθως χρησιμοποιούνται πεδία της κλάσης ViewModel, που διατηρούν την κατάσταση κατά τη διάρκεια του κύκλου ζωής του συνδεδεμένου στοιχείου UI.
Εάν χρειάζεται να αποθηκεύσετε δεδομένα κατά την καταστροφή της διαδικασίας (π.χ. κατά την περιστροφή της οθόνης ή το κλείσιμο της εφαρμογής), μπορείτε να χρησιμοποιήσετε το SavedStateHandle, ένα ειδικό αντικείμενο που επιτρέπει την αποθήκευση και την επαναφορά της κατάστασης.
Παράδειγμα χρήσης του SavedStateHandle:
class MyViewModel(private val state: SavedStateHandle) : ViewModel() {
var userName: String?
get() = state.get<String>("userName")
set(value) = state.set("userName", value)
}
Έτσι, τα δεδομένα αποθηκεύονται και επαναφέρονται αυτόματα, βελτιώνοντας την εμπειρία του χρήστη και αποτρέποντας την απώλεια πληροφοριών.