Должен ли View Binding заменить привязку данных? - PullRequest
1 голос
/ 03 марта 2020

Конечно, я использую data binding для двух случаев:

  • для доступа к views во фрагменте
  • для подписки данных с view model в макете.

Когда я сравниваю с view binding, я вижу оба метода в порядке (view binding лучше для доступа к views, data binding для привязки данных), поэтому , который шаблон должен быть предпочтительным для MVVM?

Должен ли я перейти на view binding и обрабатывать ViewModel-layout соединений только во фрагменте?

Ответы [ 2 ]

2 голосов
/ 03 марта 2020

Для вашего вопроса Should View Binding replace Data Binding ответ - это зависит от варианта использования.

ViewBinding генерирует только ViewBinding ваших файлов макета, поэтому вы можете ссылаться на представления без использования findViewById.

DataBinding предоставляет вам то же самое, но с дополнительными функциональными возможностями, такими как выражения привязки данных (помещая общие Java logi c в XML), общую переменную данных для всего xml, аннотации и т. Д. c.

Так когда же их использовать?
В случае, если вам просто нужен доступ к представлениям в вашем коде Java без какого-либо сложного / повторяющегося лога представления c (например: изменить видимость нескольких представлений на основанный на одной переменной данных), то вы должны использовать ViewBinding, так как он легче и быстрее.

Но в случае, если вам нужно больше, чем просто доступ к представлениям, таким как выражения привязки, адаптеры привязки и т. д. c. (что является общим требованием больших проектов). Вы должны использовать DataBinding, поскольку он предоставляет больше возможностей.

Для получения дополнительной информации, пожалуйста, взгляните на
https://developer.android.com/topic/libraries/view-binding#data -binding - Сравнение от AndroidDeveloper
https://proandroiddev.com/new-in-android-viewbindings-the-difference-from-databinding-library-bef5945baf5e - Сравнение по ProAndroidDev

0 голосов
/ 03 марта 2020

В конечном итоге все зависит от вашего варианта использования,

Используйте привязку данных, если вы хотите установить данные через xml за счет увеличения скорости сборки, используйте привязку вида, если вы просто хотите опустить findViewById, привязка представлений намного дешевле по сравнению с привязкой данных. Привязка данных похожа на расширенную привязку просмотра. Вы также можете использовать оба, если хотите.

Предлагаю вам посмотреть этот ответ Yi git https://youtu.be/QWHfLvlmBbs?t=42.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...