data bindingちゃんと触ったことがなかったので、data bindingを使ったMVVMなアプリを書いてみました。 機能を限定したGitHubクライアントです。よくあるTODOアプリみたいなシンプルなものだと実戦投入したときの詰まりどころがよくわからない気がしたので、以下のような画面を含むそこそこ複雑なアプリにしてみました。 リポジトリの一覧画面と詳細画面があり、それぞれでスターできる。各画面でのスター操作の結果は同期している。 リストビューでサーバーから取得したリポジトリ一覧を表示する。一度取得したリストはSQLiteにキャッシュされ、次回以降はキャッシュから値を取得する ViewPagerで複数のFragmentを表示している。Fragment Aでの操作が、Fragment Bにも影響する。 アーキテクチャ ビューとビューモデルの間はdata bindingによってバインド