BT

Android Architecture Components 1.0 リリース - Lifecycle、LiveData、ViewModel、Room

| 作者: Abel Avram フォローする 7 人のフォロワー , 翻訳者 h_yoshida フォローする 1 人のフォロワー 投稿日 2017年12月18日. 推定読書時間: 2 分 |

原文(投稿日:2017/11/09)へのリンク

Googleは、“堅牢でテスト性とメンテナンス性に優れたアプリ”を設計するためのライブラリのコレクションであるAndroid Architecture Components 1.0を公開した。現時点のコンポーネントはLiftecycle、LiveData、ViewModel、Roomだが、その他も準備中だ。

Googleは“データ永続化、コンポーネントのライフサイクル管理、モジュラーアプリケーションの記述、一般的なエラーへの対策、ボイラプレートコードの削減”を支援するために、Architecture Componentsを開発した。主なコンポーネントは次のものだ。

Lifecycleは、ライフサイクルを認識し、自らの状態に基づいた動作の調整が可能なアクティビティとフラグメントを作成するためのアーキテクチャコンポーネントである。コンポーネントは初期化(initialized)、生成(created)、開始(started)、再開(resumed)、破棄(desgtroyed)など、複数の状態(state)を経ることができる。各状態イベントが起動されると、さまざまなオペレーションを行なうためにライフサイクルメソッドがコールされる。Lifecycleはコンポーネントの状態に関する情報を保持し、状態の変化を処理することで、これらのタスクからコンポーネントを解放する。よりシンプルなコードを記述して、理解しやすいものにすることが目的だ。

LiveDataは、オブザーバブルなデータを保持するクラスである。LiveDataはコンポーネントのライフサイクルを認識して、それらがあアクティブ状態であればアップデートを提供する。LiveDataはリアクティブなUI構築に推奨されている。

ViewModelは、アクティビティやフラグメントの情報を保持管理するために使用するアーキテクチャコンポーネントで、画面の回転などのさまざまなユーザアクションに対して、UIコンポーネントが再生成される時のデータを保存する。ViewModelがデータ関連のコードを保持することにより、UIコントローラの簡略化を実現する。

Roomは、データをSQLLiteに保存するためのオブジェクトマッピングレイヤで、誤っている可能性のあるクエリをコンパイル時に検証する機能を備える。データをローカルにキャッシュ可能であることから、Googleでは、直接SQLiteにアクセスせず、Roomを使用するように推奨している。RoomはLiveDataと統合されており、コンポーネントのライフサイクルの一部となっている。

現在はアルファ版であるPagedListが、新たなコンポーネントとして近く利用可能になる。PageListは、大規模なデータベースクエリの完了を待たずに、徐々にデータをロードする場合に有用である。他のアーキテクチャコンポーネントの開発も進められており、今後数週間の内に発表される予定だ。

Googleは、これらのコンポーネントの使用方法を説明したアーキテクチャガイドラインを公開している。同社ではライブラリが“製品対応”であるとして、Androidアプリケーション開発での利用を推奨している。

 
 

この記事を評価

採用ステージ
スタイル
 
送信
送信

こんにちは

コメントするには InfoQアカウントの登録 または が必要です。InfoQ に登録するとさまざまなことができます。

アカウント登録をしてInfoQをお楽しみください。

あなたの意見をお聞かせください。

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする
コミュニティコメント

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする

ディスカッション

InfoQにログインし新機能を利用する


パスワードを忘れた方はこちらへ

Follow

お気に入りのトピックや著者をフォローする

業界やサイト内で一番重要な見出しを閲覧する

Like

より多いシグナル、より少ないノイズ

お気に入りのトピックと著者を選択して自分のフィードを作る

Notifications

最新情報をすぐ手に入れるようにしよう

通知設定をして、お気に入りコンテンツを見逃さないようにしよう!

BT