Junior — Middle
Πώς υλοποιείται η χρήση του ViewModel στο Jetpack για τη διαχείριση της κατάστασης του περιβάλλοντος χρήστη;
sobes.tech AI
Απάντηση από AI
Το ViewModel στο Jetpack χρησιμοποιείται για την αποθήκευση και διαχείριση της κατάστασης του UI, διατηρώντας τα δεδομένα κατά τις αλλαγές διαμόρφωσης (π.χ. περιστροφή οθόνης). Το ViewModel διαχωρίζει τη λογική του UI από την Activity ή το Fragment, καθιστώντας ευκολότερο τον έλεγχο και τη συντήρηση.
Παράδειγμα χρήσης:
class MyViewModel : ViewModel() {
private val _text = MutableLiveData<String>()
val text: LiveData<String> = _text
fun updateText(newText: String) {
_text.value = newText
}
}
// Στο Activity ή το Fragment
val viewModel = ViewModelProvider(this).get(MyViewModel::class.java)
viewModel.text.observe(this) { updatedText ->
textView.text = updatedText
}
Έτσι, το ViewModel αποθηκεύει δεδομένα που επιβιώνουν από την αναδημιουργία του UI και τα παρέχει μέσω LiveData για μια αντιδραστική ενημέρωση της διεπαφής.