手順2: Amazon Fire TV向けのLeanback対応Androidアプリのしくみを理解する
Leanback対応プロジェクトでleanback、recyclerView、appCompat、Glideの4つのライブラリが重要となる理由を説明します。
プロジェクトの依存関係における新規ライブラリ
Android Studioウィザードを使用して新しいTVプロジェクトを作成すると、プロジェクトの依存関係にいくつかのライブラリが自動的に追加されます。
build.gradle
ファイルは次のようになります。
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:leanback-v17:23.4.0'
compile 'com.android.support:recyclerview-v7:23.4.0'
compile 'com.android.support:appcompat-v7:23.4.0'
compile 'com.github.bumptech.glide:glide:3.4.+'
}
それぞれのライブラリは、Leanback対応プロジェクトで以下のように重要な役割を果たします。
- Leanback: 標準のAndroidサポートライブラリであるv17 Leanback Support Libraryは、TVアプリの開発の簡素化に役立つAPIとウィジェットを提供します。Leanback対応プロジェクトで使用するほとんどのコンポーネントは、このライブラリに含まれています。
- RecyclerView:
RecyclerView
クラスを提供するライブラリです。このクラスは、ビューをリサイクルし、パフォーマンスを向上させ、メモリを節約して、大規模なデータセットを効率的に表示するために使用されます。Leanback Libraryの多くのコンポーネントは、RecyclerView
に依存しています。RecyclerView
は、Androidで非常に一般的なプログラミングパターンであるViewholder
パターンを実装しています。これは、TV向けの開発で重要となります(ViewHolder
の詳細についてはこちらを参照してください)。 - AppCompat: AppCompatライブラリの主な目的は、Androidの複数のバージョンにわたってAPI、ウィジェット、およびツールを提供することです。Androidアプリを複数のデバイスで提供できると、使い勝手が向上します。特に、ハンドヘルドデバイスとTVの両方を対象に単一の.apkバイナリファイルでアプリをリリースする場合に便利です。
- Glide: Android用の効率的なオープンソースのメディア管理および画像読み込みフレームワークです。クラウドから画像を効率的にデコード、ダウンロード、適用することができます。Leanback対応アプリの一部のコンポーネントで使用され、サムネイルや画像を効率的に取得して、TVアプリでコンテンツのプレビューを表示します。
これらのコンポーネントはすべて、ユーザーにとって堅牢で一貫性のあるTV視聴エクスペリエンスを構築するための主な要素です。
メインストリーミングアプリのインタラクションモデル
メディアストリーミングアプリを使用する際のユーザー行動は、主に次の3つの手順で構成されます。
- コンテンツを閲覧する: ユーザーは、メディアのメインカタログで興味のあるコンテンツを探します。
- 説明と詳細情報を読む: 興味のあるコンテンツが見つかると、そのコンテンツの説明や詳細情報を読んで、視聴するかどうかを判断します。
- 再生する: 視聴するコンテンツが決まったら、そのコンテンツの再生を開始します。
Leanback対応Androidアプリの主要コンポーネント
Leanback対応Androidアプリは、このインタラクションモデルをベースにしています。実際、Leanback対応アプリの3つの主要コンポーネントは、メディアストリーミングアプリのインタラクションモデルの3つの主な手順と同じです。
BrowseFragment
: メインアプリカタログ内のコンテンツを閲覧できます。DetailsFragment
: BrowseFragmentで選択したコンテンツの詳細情報にアクセスし、「コンテンツの再生」などのアクションを実行できます。PlaybackOverlayFragment
: このフラグメントを使用すると、フルスクリーンのメディアプレーヤー上にメディアコントロールをオーバーレイできます。
メディアストリーミングアプリのインタラクションモデルと1対1に対応することで、プロジェクト構造の一貫性が維持され、アプリの設計と開発プロセスを簡素化できます。
Leanbackアプローチで提供されるような明確に定義されたアプリ構造を使用すると、オンボーディングプロセスが簡単になります。これは、同様のパターンに基づいて構築されたメディアストリーミングアプリを、ユーザーが既に操作している可能性が高いためです。
次のステップ
次の 手順3: Leanback対応Androidアプリのコンテンツを閲覧するに進みます。
Last updated: 2020年10月29日