目次
- 1この講座について
- 2イントロダクション
- 3前提知識
- 4この講座で学べること
- 5概要
- 6アプリの概観
- 7タスク:スターターコードのセットアップと概要
- 7.1ステップ1:スターターアプリをダウンロードして起動する
- 7.2ステップ2(任意):ネットワーク遅延をシミュレートする
- 7.3ステップ3:コードを調べる
- 8概念:キャッシング(キャッシュ)とは
- 9 Task: Add an offline cache
- 9.1ステップ1:Roomの依存関係を追加する
- 9.2ステップ2:データベースオブジェクトを追加する
- 9.3ステップ3:VideoDaoを追加する
- 10ステップ4:RoomDatabaseを実装する
- 11概念:レポジトリーとは
- 11.1レポジトリーパターン
- 11.2レポジトリーを使う利点
- 12タスク:レポジトリーを作成する
- 12.1ステップ1:レポジトリーを追加する
- 12.2ステップ2:データベースからデータを取得する
- 13タスク:リフレッシュ手法を使ってレポジトリーを統合する
- 14完成済みプロジェクト
- 15まとめ
この講座について
この記事はAndroid Kotlin基礎講座の一部です。これ以外のAndroid Kotlin基礎講座(全10回)も一緒に受講することでAndroidアプリの開発手法、およびKotlinの基礎知識を学ぶことができます。全講座はAndroid Kotlin基礎講座にリスト化されていますので参考にしてください。
またこの記事ではGoogle Developers Training teamによってGoogle Codelabsに公開されているAndroid Kotlin Fundamentals courseを日本語に翻訳しつつ、筆者の考察も交えながら発信しています。オリジナルのサイト(英文)はこちら。
イントロダクション
この記事では、オフラインキャッシングを使ってアプリのユーザーエクスペリエンスを向上させていきます。多くのアプリはネットワークからのデータに頼っています。もしあなたのアプリが起動する度にサーバーからデータを読み取っていたら、ユーザーはその都度、読み込み画面を見ることになり、ユーザーエクスペリエンスが悪いと言えます。結果としてユーザーがアプリをアンインストールすることにもつながるでしょう。
ユーザーがアプリを起動する際、ユーザーはデータが素早く表示されることを期待しています。これはオフラインキャッシングというものを実装することで実現することができます。オフラインキャッシングとは素早くアクセスするために、ネットワークから読み取ったデータを端末のローカルストレージに保存することを意味します。
多くのユーザーは断続的にインターネットに接続しています。オフラインキャッシングを実装することで、ユーザーはアプリをオフラインでも利用できるようになります。
前提知識
- データ保存ライブラリ、Roomについて
- Retrofitネットワーキングライブラリについて
- 基本的なAndroidアーキテクチャコンポーネントであるViewModel、ViewModelFactory、LiveData
について - LiveDataクラス用のTransformationについて
- コルーチンの構築と起動について
- データバインディングにおけるバインディングアダプターについて
この講座で学べること
- オフラインキャッシュを作成するためのRoomデータベースの使い方
- レポジトリーを実装して、アプリのデータレイヤーを他の部分から抽象化する方法
- レポジトリーを使ってキャッシュされたデータを読み込む方法
概要
- Roomを使ってローカルデータベースの作成
- ネットワークからデータを取得し、データベースにキャッシュする
- レポジトリーを使ってデータレイヤーを抽象化し、ViewModelによってレポジトリークラスを統合する
- オフラインキャッシュからデータを表示する
プロフィール
大学卒業後SEに就職、現在は退職しフリーランスとして活動中。
『初心者でも挫折せずに一人でプログラミングを学べる』をモットーに、コードラボJPを開設
お問い合わせ等はcodelabsjp@gmail.comまで