Data Binding in Android
Вадим Котов (vadim.kotov@surfstudio.ru)
О чем сегодня поговорим
●MVVM
●Активно используется
в Windows Phone
●В Android не очень
Android Data Binding
●Анонсирован на I/O 2015
●Android Studio >= 1.3
●Версия Android API >= 2.1
●Используется кодогенераци...
В главном build.gradle:
В app/build.gradle:
Наш Layout
●Синтаксис атрибутов binding - @{…}
●Для layout вида main_activity.xml будет
сгенерирован класс вида MainActivi...
Наш Layout
Класс User
●Может быть POJO, Java bean
Сгенерированный код
Сгенерированные поля:
●MainActivityBinding.firstNameTextview
●MainActivityBinding.lastNameTextview
●findViewById
●Методы ButterKnife и др.
Обработка событий
Что еще можно
●Импорты классов внутрь блока data
●Выражения вида
–@{UnixDateConverter.convert(user.birthday)}
–android:tex...
Нотификация view
●3 механизма нотификации:
–ObservableObject
–ObservableFields
–ObservableCollections
●Не путать с Rx Obse...
Observable Fields
Two-way binding
●Из коробки не доступен, пока все плохо
●Энтузиасты делают попытки, пример
https://medium.com/@fabioCollin...
Custom setters
Custom setters
Ссылка на полный пример -
https://blog.stylingandroid.com/data-binding-part-3/
Пример с установкой шрифтов
Thanks to +LisaWrayZeitouni
Binding элементов списка
●Удобная библиотека https://github.com/evant/binding-
collection-adapter
●Статья в блоге DataArt
...
Подкаст о Data Binding
●Часовой подкаст-беседа авторов и Chet Haase,
Tor Norbye
●http://androidbackstage.blogspot.ru/2015/...
Вопросы
@vkotovv
Surf
bit.ly/gdg2015-data-binding
«Android Data Binding». Вадим Котов
«Android Data Binding». Вадим Котов
«Android Data Binding». Вадим Котов
«Android Data Binding». Вадим Котов
«Android Data Binding». Вадим Котов
«Android Data Binding». Вадим Котов
Upcoming SlideShare
Loading in …5
×

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

339 views

Published on

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

Published in: Software
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
339
On SlideShare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
2
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

«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

×