Sobes.tech
Junior — Middle

Jak można przechowywać dane w ViewModelu do późniejszego wykorzystania?

sobes.tech AI

Odpowiedź od AI

Aby przechowywać dane wewnątrz ViewModel i ponownie je wykorzystywać, zazwyczaj używa się pól klasy ViewModel, które zachowują stan przez cały cykl życia powiązanego komponentu UI.

Jeśli trzeba zapisać dane podczas niszczenia procesu (np. podczas obracania ekranu lub zamknięcia aplikacji), można użyć SavedStateHandle — specjalnego obiektu, który pozwala na zapisywanie i przywracanie stanu.

Przykład użycia SavedStateHandle:

class MyViewModel(private val state: SavedStateHandle) : ViewModel() {
    var userName: String?
        get() = state.get<String>("userName")
        set(value) = state.set("userName", value)
}

W ten sposób dane są automatycznie zapisywane i przywracane, co poprawia doświadczenie użytkownika i zapobiega utracie informacji.