Android Kotlin基礎講座 05.4: LiveDataの変換
目次
この講座について
この記事はAndroid Kotlin基礎講座の一部です。これ以外のAndroid Kotlin基礎講座(全10回)も一緒に受講することでAndroidアプリの開発手法、およびKotlinの基礎知識を学ぶことができます。全講座はAndroid Kotlin基礎講座にリスト化されていますので参考にしてください。
またこの記事ではGoogle Developers Training teamによってGoogle Codelabsに公開されているAndroid Kotlin Fundamentals courseを日本語に翻訳しつつ、筆者の考察も交えながら発信しています。オリジナルのサイト(英文)はこちら。
この記事はViewModelとLiveDataについて解説している4つのシリーズ記事のうちの一つです。ViewModelとLiveDataはAndroidアーキテクチャコンポーネントです。Androidアーキテクチャコンポーネントとは頑丈、テスト可能、保守可能なアプリをデザインする手助けとなるライブラリおよびコンポーネントのことです。
これら4つの記事では、GuessTheWordというアプリを使って作業していきます。順序立ててタスクをこなしていく構成になっているので、4つの記事を順番に進めていくことをお勧めします。
- 5.1: ViewModelとViewModelProvider
- 5.2: LiveDataとLiveData observers
- 5.3: ViewModelとLiveDataのデータバインディング
- 5.4: LiveDataの変換
イントロダクション
前回までの三つの記事で作業したGuessTheWordアプリはViewModelデータを監視するためのLiveDataオブザーバーパターンを実装しています。UI controllerのビューはViewModel内のLiveDataを監視し、表示するデータを更新します。
コンポーネント間でLiveDataをやり取りさせる際、データの対応関係を明らかにしたり、変換したい場合などがでてきます。計算させたり、データの一部分を表示させたり、データの翻訳を変えるためのコードが必要になるかもしれません。LiveDataであるwordを例にとると、単語そのものではなく、その単語に含まれる文字数を返すように変換することができます。
Transformationsクラスに含まれるヘルパーメソッドを使ってLiveDataを変換することができます:
この記事では、アプリにカウントダウンタイマーを追加します。経過時間を画面に表示するためのフォーマットに変換するためのTransformations.map()のLiveDataにおける使い方を学習します。
前提知識
- Kotlinによる基本的なアプリの作り方
- ViewModelオブジェクトの使い方
- ViewModel内のLiveDataを使ってデータを保存する方法
- データの変化を監視するためのLiveDataオブザーバーメソッドの追加方法
- ViewModelとLiveDataを用いたデータバインディングの使い方
この講座で学べること
- LiveDataを用いたTransformationsの使い方
概要
- ゲームを終了させるタイマーの追加
- LiveDataを別の型に変換するためのTransformations.map()の使用
完全無料で通えるプログラミングスクール
プログラミング学習はどうしても一人だとつまづいてしまう時がきます。調べればわかることも少なくないですが、最初のうちは調べ方もわからないことが多いため、あまり効率的ではありません。
効率的かつ挫折せずにプログラミングを学習したい方はスクールを検討してみるのも一つの手です。
中には無料で通えるスクールや、就職保証をしてくれるスクールなどもあるので、きっとあなたの目的に応じて最適のスクールが見つかります!以下の記事で評判がよく特におすすめのスクールをいくつかピックアップしているので、スクール選びで後悔したくない方は御覧ください!