Назад к вопросам
Junior — Middle
71
Какие компоненты Jetpack ViewModel ты используешь для управления данными и состоянием UI?
Ответ от нейросети
sobes.tech AI
Для управления данными и состоянием UI в Jetpack ViewModel обычно используются следующие компоненты:
-
LiveData — наблюдаемые данные, которые автоматически обновляют UI при изменении. Позволяет реализовать реактивный подход.
-
MutableLiveData — изменяемая версия LiveData, используется внутри ViewModel для обновления данных.
-
StateFlow / SharedFlow (из Kotlin Coroutines) — современные альтернативы LiveData для управления состоянием и событиями с поддержкой корутин.
-
SavedStateHandle — позволяет сохранять и восстанавливать состояние ViewModel при пересоздании UI, например, при повороте экрана.
Пример использования LiveData в ViewModel:
class MyViewModel : ViewModel() {
private val _text = MutableLiveData<String>()
val text: LiveData<String> = _text
fun updateText(newText: String) {
_text.value = newText
}
}