Я пытаюсь использовать компонент архитектуры Android, то есть data binding с базой данных Realm, используя шаблон MVVM.
Изучив привязку данных и MVVM, я наткнулся на несколько подходов к привязке модели к пользовательскому интерфейсу.
Объявите наблюдаемые примитивные поля в модели и напрямую привяжите их к XML-файлу Android.
Сохраните модель как есть с примитивным типом данных и объявите наблюдаемые поля в классе модели View.
Теперь, поскольку область не поддерживает наблюдаемые поля, остается использовать Observable.
Я сослался на эту статью, чтобы использовать область с привязкой данных, но эта статья довольно старая.
так что мои вопросы
Что предпочтительнее при реализации привязки данных в Android, привязать модель непосредственно к пользовательскому интерфейсу Android или объявить наблюдаемые переменные в модели представления и сопоставить их с моделью?
лучшие практики использования области с привязкой данных
Мой вопрос довольно конкретен в контексте привязки области и данных, поэтому это не общий вопрос.
Я отвечу только на первый вопрос, так как давно не использовал Realm.
Как вы сами заявили, вы не можете использовать наблюдаемые поля в модели, которую используете в Realm, и никогда не должны этого делать. Модель должна быть простой. ViewModel - это именно то место, где принадлежат Observables. Они должны быть привязаны к виду и только к ним.
Рассмотрите возможность использования новых классов LiveData вместо Observables и ViewModels из новых компонентов архитектуры. Они упрощают работу и теперь поддерживаются в привязке данных: