Для вашего вопроса 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