アーキテクチャ コンポーネント

ViewModel、LiveData、ViewModel と LiveData によるデータ バインディング、LiveData 変換について学習します。2 人のプレーヤーが最高スコアを目指して協力する、2 プレーヤー ジェスチャー ゲームの GuessTheWord アプリを完成させます。

 

ViewModel

コードラボ

GuessTheWord アプリのスターター コードをインポートします。単語のリスト、現在の単語、スコアなど、ゲームの状態を保持する ViewModel を作成します。このデータが ViewModel に保存されると、アプリはデバイスの回転などの構成変更の際にも、状態を保持します。

LiveData と LiveData のオブザーバー

コードラボ

ViewModel 内で LiveData と MutuableLiveData を使用して、アプリの UI データ(表示されるデータ)をカプセル化します。オブザーバーを LiveData に追加して、LiveData の値が変更されたときに、フラグメントが UI を更新できるようにします。

ViewModel と LiveData を使用したデータ バインディング

コードラボ

LiveData と ViewModel をデータ バインディングと統合すると、アプリのフラグメントを使用して情報を中継することなく、レイアウト内のビューが ViewModel オブジェクトと直接通信できるようになります。

LiveData 変換

コードラボ

LiveData を別の結果に変換し、基盤となる LiveData が変更されるたびに新しい結果を UI に表示します。

アーキテクチャ コンポーネントに関するテスト

知識をテストして、「アーキテクチャ コンポーネント」バッジを獲得しましょう。