Как объединить компоненты архитектуры с привязкой данных к андроиду?

Я разработал базу приложений в библиотеке привязки данных Android: https://developer.android.com/topic/libraries/data-binding/index.html

class SignInViewModel extends BaseObservable { @Bindable public String getLogin() { return login; } @Bindable public String getPassword() { return password; } } 

И теперь я хочу использовать ViewModelProviders из новой библиотеки: https://developer.android.com/topic/libraries/architecture/guide.html

 SignInViewModel signInViewModel = ViewModelProviders.of(this).get(SignInViewModel.class); 

Как это сочетается? Есть идеи? Или должны быть объединены эти две библиотеки?

редактировать

Я перехожу к:

 class SignInViewModel extends ViewModel { public ObservableField<String> login = new ObservableField<>(""); public ObservableField<String> password = new ObservableField<>(""); } 

И теперь компилируется, но вопрос в том, что это правильный путь?

IMO вы не должны смешивать пользовательские модели Observable и подклассы ViewModel в том же проекте. LiveData предназначен для использования в качестве наблюдаемого держателя данных здесь. Вы можете сохранить библиотеку привязки данных для обновления пользовательского интерфейса.

Вы должны посмотреть пример кода Google на GitHub: https://github.com/googlesamples/android-architecture-components/tree/master/GithubBrowserSample . Они используют библиотеку привязки данных и компоненты архитектуры в одном проекте, но библиотека привязки данных используется только для обновления пользовательского интерфейса. Не хранить данные.

Это известная несовместимость. Вы не можете одновременно расширять BaseObservable и AndroidViewModel , поэтому вы не можете использовать @Bindable что делает невозможным двустороннее связывание данных.

Это будет исправлено до финальных компонентов.