- Realmと使うAndroid Architecture Components という素晴らしい記事を読んで、Android Architecture Componentsの理解が進んだので、そちらのサンプルでは使っていなかったFine-grainedな通知機能を使って実装してみたかったので、以下の三画面構成のシンプルなサンプルをKotlinで作ってみました。
- 記事一覧のリスト
- いいねを押した記事のリスト
- 記事詳細画面
- 各々の画面にいいねボタンがあり、それを画面間で状態を反映させるようなメディア系のアプリでよく見る機能を実現しました。また、画面回転しても状態を保つようにしました。
- 大きな違いはViewModelにOrderedRealmCollectionChangeListenerを持たせ、そこでの変更通知をLiveDataに伝えている点です。
- 今回サンプルを作ってみて、Room以外の既存のORMでも十分に活用できるほど、それぞれのコンポーネントは独立している機能だということがわかりました。
まだalpha版ですが、正式にリリースされたら積極的に使っていきたいです。
お世話になった記事
Realmと使うAndroid Architecture Components
Android Architecture Components Lifecycle, LiveData and ViewModel 詳解
Android Architecture Components 感想
Android Architecture Components ViewModel 和訳