Sobes.tech
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 για μια αντιδραστική ενημέρωση της διεπαφής.