Android Kotlin基礎講座 09.1:レポジトリー

アプリの概観

DevBytesアプリはGoogle Android developer relations teamによって作成されたショートチュートリアルである、DevByteという動画のリストを表示します。この動画では開発者機能やAndroid開発におけるベストプラクティスを紹介しています。

DevBytesスターターアプリはRetrofitライブラリを使ってネットワークから動画のURLのリストを取得し、RecyclerViewでそのリストを表示します。アプリではViewModelとLiveDataを使ってデータを保持し、UIをアップデートします。アプリのアーキテクチャはこの講座で以前作成したものに似ています。

スターターアプリはオンラインでしか機能しないので、ユーザーは常にネットワークに接続している必要があります。この記事では、ネットワークからではなく、ローカルデータベースからデータを表示するためのオフラインキャッシュを実装していきます。そうすることで、ユーザーは端末がオフラインの状態や、ネットワーク接続が遅い場合でもアプリを使うことができるようになります。

オフラインキャッシュを実装するためには、Roomデータベースを使って、取得したデータを端末のローカルストレージに保存します。Roomデータベースへのアクセスと管理はレポジトリーパターンを使います。レポジトリーパターンとは、アプリの他の部分からデータソースを切り離すデザインパターンのことです。これにより、データにアクセスするために使うアプリの他の部分にクリーンなAPIを提供することが可能になります。