Android Kotlin基礎講座 05.4: LiveDataの変換

Android Kotlin基礎講座
スポンサーリンク
スポンサーリンク
スポンサーリンク

この講座について

この記事は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つの記事を順番に進めていくことをお勧めします。

イントロダクション

前回までの三つの記事で作業した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()の使用

コメント

プロフィール

プロフィール
コードラボJP

大学卒業後SEに就職、現在は退職しフリーランスとして活動中。
『初心者でも挫折せずに一人でプログラミングを学べる』をモットーに、コードラボJPを開設
お問い合わせ等はcodelabsjp@gmail.comまで

コードラボJPをフォローする
タイトルとURLをコピーしました