3行まとめ
- LiveDataをBindさせるサンプル作った
- Dagger使ってDIもやってみた
- ListAdapterのアニメーションがめっちゃいい
つくったもの
文字を自分で打ち込んでDBに保存し、保存された文字列をフィルタリングするサンプルです。
やっていること
- 内部DBにRoomを利用、取得結果をLiveDataで書き出し
- 依存性の解決はDagger2を使用
- MainActivityからViewModelにDB処理を分割
- MainActivityのlayoutにViewModelをbindし、上部のEditText部に双方向Bind
- bindしたLiveDataの文字列を確認し、Transformations.switchMapにて「全読み込み」と「文字列が一致するモノだけ読み込み」を切り替え
- 文字入力用のDialogにViewModelを渡すことで、Dialogからも処理をViewModelに分割
気をつけたこと
- 簡単なサンプルにするため、DBの削除処理や細かいViewModelの分割はナシ
- Dagger2の利用はGoogle IO18のコードを参考に
雑記
- 体感で1週間ぐらいかかった
- やりたいことが簡単なのに、色々と設定するのが億劫
- READMEって何を書けばいいんでしょうな……?