Junior — Middle
What ViewModel implementation do you use in your current project?
sobes.tech AI
Answer from AI
In the current project, I use the standard ViewModel class from Android Jetpack (androidx.lifecycle.ViewModel) to implement ViewModel. It allows preserving UI state during configuration changes, such as screen rotation.
For managing data and reactive UI updates, I use LiveData or StateFlow within the ViewModel. This provides a convenient separation of logic and presentation.
A simple example of a ViewModel with LiveData:
class MyViewModel : ViewModel() {
private val _data = MutableLiveData<String>()
val data: LiveData<String> = _data
fun loadData() {
// Load data and update LiveData
_data.value = "Hello, ViewModel!"
}
}
This approach aligns with Google's architectural recommendations and simplifies testing and maintenance of the code.