Skip to content

Most visited

Recently visited

navigation

TV アプリのビルドを開始する

TV アプリでは、携帯電話やタブレット向けのものと同じ構造を使用します。つまり、Android アプリのビルドに関する既知の技術を使用して新たな TV アプリを作成したり、既存のアプリを TV 端末でも使用できるように編集したりできます。

重要:Google Play で Android TV アプリを提供するには、特定の要件を満たす必要があります。詳細については、TV アプリの品質に記載されている要件を参照してください。

このレッスンでは、TV アプリのビルドの際の開発環境の準備方法と、TV 端末上でアプリを使用できるようにするために最低限必要な変更について説明します。

TV プロジェクトをセットアップする

このセクションでは、TV 端末向けに既存のアプリを変更したり、新しく作成する方法について説明します。TV 端末向けアプリを作成する際に使用する必要がある主なコンポーネントは次のとおりです。

前提条件

TV 向けアプリのビルドを開始するには:

TV アクティビティを宣言する

TV 端末向けアプリでは、CATEGORY_LEANBACK_LAUNCHER のインテント フィルタを使用して、アプリのマニフェストで TV 用ランチャーのアクティビティを宣言する必要があります。このフィルタは、アプリが TV 向けになっていることを判別しますので、Google Play 内で TV アプリと認識される上で必要です。この宣言は、ユーザーが TV のホーム スクリーンでアプリのアイコンを選択したときに、アプリ内のどのアクティビティが起動するかについても判別します。

次のコード スニペットでは、マニフェストにインテント フィルタを含める方法を示します。

<application
  android:banner="@drawable/banner" >
  ...
  <activity
    android:name="com.example.android.MainActivity"
    android:label="@string/app_name" >

    <intent-filter>
      <action android:name="android.intent.action.MAIN" />
      <category android:name="android.intent.category.LAUNCHER" />
    </intent-filter>
  </activity>

  <activity
    android:name="com.example.android.TvActivity"
    android:label="@string/app_name"
    android:theme="@style/Theme.Leanback">

    <intent-filter>
      <action android:name="android.intent.action.MAIN" />
      <category android:name="android.intent.category.LEANBACK_LAUNCHER" />
    </intent-filter>

  </activity>
</application>

この例では、2 番目のアクティビティのマニフェスト エントリが、TV 端末で起動するアクティビティを指定しています。

警告:アプリに CATEGORY_LEANBACK_LAUNCHER インテント フィルタを含めない場合、TV 端末で Google Play ストアを開いているユーザーにアプリが表示されません。開発者ツールを使用して TV 端末にロードする際にこのフィルタがない場合も、TV のユーザー にはアプリインターフェースが表示されません。

TV 向け用途で既存のアプリを変更する場合は、携帯電話やタブレットと同じアクティビティのレイアウトを使用しないでください。TV アプリや既存のアプリの TV 向け部分については、ソファでくつろぎながら TV リモコンを使用して、簡単にナビゲートできるシンプルなユーザー インターフェースを提供する必要があります。TV 向けアプリをデザインする際のガイドラインについては、TV 向けデザインガイドを参照してください。TV のインターフェースのレイアウトに関する最低限の実装要件についてはTV 用のレイアウトをビルドするを参照してください。

タッチスクリーンの不要を宣言する

TV 端末向けアプリでは、入力はタッチスクリーンに依存しません 。これを明確にするために、TV アプリのマニフェストで android.hardware.touchscreen 機能が不要であることを宣言する必要があります。この設定により、アプリが TV 端末向けであると判別しますので、Google Play 内で TV アプリと認識される上で必要です。次のコード例では、マニフェストに宣言を含める方法を示します。

<manifest>
    <uses-feature android:name="android.hardware.touchscreen"
              android:required="false" />
    ...
</manifest>

警告:このコード例のようにアプリのマニフェストでタッチスクリーンが不要であると宣言しないと、アプリが TV 端末の Google Play ストアに表示されません。

アプリに Leanback ランチャーのインテント フィルタが含まれている場合は、ホーム スクリーンにバナーを配置する必要があります。バナーは、アプリやゲームの行のホーム スクリーン上に表示されるアプリの起動ポイントです。次のようにマニフェストにバナーを記述します。

<application
    ...
    android:banner="@drawable/banner" >

    ...
</application>

android:banner 属性を使用して、<application> タグとともにアプリのすべてのアクティビティにデフォルトのバナーを配置するか、<activity> タグとともに特定のアクティビティにバナーを配置します。

TV 向けデザインの UI パターンガイドのバナーを参照してください。

TV サポート ライブラリを追加する

Android SDK には、TV アプリ向けのサポート ライブラリが用意されています。これらのライブラリでは、TV 端末向けに使用できる API とユーザー インターフェース ウィジェットを提供しています。同ライブラリは <sdk>/extras/android/support/ ディレクトリにあります。ライブラリとその全般的な用途の一覧を次に示します。

注意:これらのサポート ライブラリは TV アプリに必須ではありませんが、特にメディア カタログのブラウジング インターフェースを提供するアプリについては使用することを強くお勧めします。

v17 leanback ライブラリを使用する場合、v4 サポート ライブラリ に依存していることに注意してください。つまり、leanback ライブラリを使用するアプリには、次のサポート ライブラリをすべて含める必要があります。

v17 leanback ライブラリには、アプリのプロジェクトに含める際に、特定の手順を踏む必要があるリソースが含まれています。リソースを使用してサポート ライブラリをインポートする手順については、サポート ライブラリのセットアップを参照してください。

TV アプリをビルドする

上記の手順を完了したら、TV 向けアプリのビルドに取りかかりましょう。TV アプリのビルドに役立つ次の補足的なトピックに目を通してください。

TV アプリを実行する

アプリの実行は、開発プロセスの重要な一部です。Android SDK の AVD Manager では端末定義を提供しており、アプリの実行やテスト用の仮想 TV 端末を作成することができます。

仮想 TV 端末を作成するには:

  1. AVD Manager を起動します。詳細については、AVD Manager のヘルプを参照してください。
  2. [AVD Manager] ダイアログで [端末定義] タブをクリックします。
  3. Android の TV 端末定義を選択し、[AVD の作成] をクリックします。
  4. エミュレータのオプションを選択して、[OK] をクリックして AVD を作成します。

    注意:TV 用のエミュレータ端末で最高のパフォーマンスを得るには、[ホスト GPU を使用] オプションを有効にし、サポートされている場合には、仮想端末のアクセラレーションを使用します。エミュレータのハードウェア アクセラレーションについては、エミュレータを使用するを参照してください。

仮想 TV 端末上でアプリをテストするには:

  1. 自分の開発環境に TV アプリをコンパイルします。
  2. 自分の開発環境からアプリを実行し、ターゲットの TV 仮想端末を選択します。

エミュレータの使用方法については、エミュレータを使用するを参照してください。Android Studio から仮想端末へのアプリのデプロイについては、Android Studio を使用してデバッグするを参照してください。ADT を使用した Eclipse からエミュレータへのアプリのデプロイについては、Eclipse から ADT を使用してビルド、実行するを参照してください。

This site uses cookies to store your preferences for site-specific language and display options.

Get the latest Android developer news and tips that will help you find success on Google Play.

* Required Fields

Hooray!

WeChat で Google Developers をフォローする

Browse this site in ?

You requested a page in , but your language preference for this site is .

Would you like to change your language preference and browse this site in ? If you want to change your language preference later, use the language menu at the bottom of each page.

This class requires API level or higher

This doc is hidden because your selected API level for the documentation is . You can change the documentation API level with the selector above the left navigation.

For more information about specifying the API level your app requires, read Supporting Different Platform Versions.

Take a short survey?
Help us improve the Android developer experience. (Dec 2017 Android Platform & Tools Survey)