Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

«Android Data Binding». Вадим Котов

492 views

Published on

Доклад с GDG DEvFest Voronezh 2015.

Published in: Software
  • Be the first to comment

«Android Data Binding». Вадим Котов

  1. 1. Data Binding in Android Вадим Котов (vadim.kotov@surfstudio.ru)
  2. 2. О чем сегодня поговорим ●MVVM ●Активно используется в Windows Phone ●В Android не очень
  3. 3. Android Data Binding ●Анонсирован на I/O 2015 ●Android Studio >= 1.3 ●Версия Android API >= 2.1 ●Используется кодогенерация ●Нужно подключить плагин в build.gradle ●Неплохая вводная документация
  4. 4. В главном build.gradle: В app/build.gradle:
  5. 5. Наш Layout ●Синтаксис атрибутов binding - @{…} ●Для layout вида main_activity.xml будет сгенерирован класс вида MainActivityBinding в пакете databinding ●Имя сгенерированного класса можно кастомизировать ●Для всех View с id генерируются поля в MainActivityBinding ●Все переменные в блоке data также доступны
  6. 6. Наш Layout
  7. 7. Класс User ●Может быть POJO, Java bean
  8. 8. Сгенерированный код Сгенерированные поля: ●MainActivityBinding.firstNameTextview ●MainActivityBinding.lastNameTextview
  9. 9. ●findViewById ●Методы ButterKnife и др.
  10. 10. Обработка событий
  11. 11. Что еще можно ●Импорты классов внутрь блока data ●Выражения вида –@{UnixDateConverter.convert(user.birthday)} –android:text="@{map[key]}" ●Запрещенные операторы: –this –super –new
  12. 12. Нотификация view ●3 механизма нотификации: –ObservableObject –ObservableFields –ObservableCollections ●Не путать с Rx Observable!
  13. 13. Observable Fields
  14. 14. Two-way binding ●Из коробки не доступен, пока все плохо ●Энтузиасты делают попытки, пример https://medium.com/@fabioCollini/android-data-binding- f9f9d3afc761
  15. 15. Custom setters
  16. 16. Custom setters Ссылка на полный пример - https://blog.stylingandroid.com/data-binding-part-3/
  17. 17. Пример с установкой шрифтов Thanks to +LisaWrayZeitouni
  18. 18. Binding элементов списка ●Удобная библиотека https://github.com/evant/binding- collection-adapter ●Статья в блоге DataArt ●http://habrahabr.ru/company/dataart/blog/267735/
  19. 19. Подкаст о Data Binding ●Часовой подкаст-беседа авторов и Chet Haase, Tor Norbye ●http://androidbackstage.blogspot.ru/2015/09/episode-35-data- bound.html
  20. 20. Вопросы @vkotovv Surf bit.ly/gdg2015-data-binding

×