ViewModel и LiveData в Data Binding

Это перевод третьей части из цикла об интеграции ViewModel c Koltin Coroutines, Data Binding и Navigation.

Чтобы более тесно на практике познакомиться с этими компонентами, записывайтесь на продвинутый курс по разработке приложения «Чат-мессенжер»

ViewModel и LiveData в Data Binding

Добавлено в Android Studio 3.1
Для Java и Kotlin


Весь этот шаблон LiveData

Эта интеграция стара, но хороша. ViewModel обычно содержат LiveData, и LiveData предназначена для наблюдения. Обычно это означает добавление наблюдателя во фрагмент:

Библиотека Data Binding предназначена для наблюдения за вашими данными и обновления пользовательского интерфейса. Используя ViewModel, LiveData и Data Binding вместе, вы можете удалить предыдущий код наблюдения LiveData и ссылаться на ваши ViewModel и LiveData прямо из XML-макета.

Использование Data Binding, ViewModel и LiveData

Допустим, в вашем XML-макете вы хотите сослаться на вашу ViewModel:

Чтобы использовать LiveData с Data Binding, вам просто нужно вызвать binding.setLifecycleOwner (this), а затем передать вашу ViewModel привязке, например так:

Теперь в вашем макете вы можете использовать вашу ViewModel. Как видно ниже, я установил текст в viewmodel.name:

Обратите внимание, что viewmodel.name может быть строкой или LiveData. Если это LiveData, пользовательский интерфейс будет обновляться при каждом изменении LiveData.

Вопросы о какой-либо из этих функций? Оставьте комментарий! Спасибо за прочтение!

Продолжение следует

Добавить комментарий