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

このページでは、自動車向けアプリ ライブラリをインストールし、アプリのマニフェスト ファイルを構成する方法について説明します。

自動車向けアプリ ライブラリをインストールする

ライブラリをアプリに追加するには、Jetpack ライブラリのリリース ページをご覧ください。

アプリのマニフェスト ファイルを構成する

自動車アプリを作成する前に、アプリの マニフェスト ファイルを構成する必要があります。

CarAppService を宣言する

ホストは、CarAppService 実装を介してアプリに接続します。 ホストがアプリを検出して接続できるようにするには、マニフェストでこのサービスを宣言する必要があります。

また、アプリのインテント フィルタの <category> 要素で アプリのカテゴリを宣言する必要もあります。この要素に使用できる値については、サポートされているアプリのカテゴリの リストをご覧ください。

次のコード スニペットは、マニフェストでスポットアプリ用の自動車アプリサービスを宣言する方法を示しています。

<application>
    ...
   <service
       ...
        android:name=".MyCarAppService"
        android:exported="true">
      <intent-filter>
        <action android:name="androidx.car.app.CarAppService"/>
        <category android:name="androidx.car.app.category.POI"/>
      </intent-filter>
    </service>

    ...
<application>

サポートされているアプリのカテゴリ

CarAppServiceCarAppService を宣言するで説明されているように宣言する場合は、インテント フィルタにこれらの値を 1 つ以上追加して、アプリのカテゴリも宣言する必要があります。

各カテゴリの詳細な説明と、カテゴリの対象となるために必要な条件については、自動車向け Android アプリの品質をご覧ください。

アプリの名前とアイコンを指定する

システム UI でアプリを表すには、carPermissionActivityLayout でホストのアプリ名とアイコンを指定する必要があります。ホストがアプリを表すために使用するアプリ名と アイコンを指定するには、CarAppServicelabelicon属性を使用します。

...
<service
   android:name=".MyCarAppService"
   android:exported="true"
   android:label="@string/my_app_name"
   android:icon="@drawable/my_app_icon">
   ...
</service>
...

`<service>` 要素でラベルまたはアイコンを宣言しない場合、ホストは `<application>` 要素で指定された値にフォールバックします。<service><application>

カスタムテーマを設定する

自動車アプリにカスタムテーマを設定するには:

  1. マニフェスト ファイルに <meta-data> 要素を追加します。

    <meta-data
        android:name="androidx.car.app.theme"
        android:resource="@style/MyCarAppTheme />
    
  2. カスタム自動車 アプリのテーマの属性を設定するスタイル リソースを宣言します。

    <resources>
      <style name="MyCarAppTheme">
        <item name="carColorPrimary">@color/my_primary_car_color</item>
        <item name="carColorPrimaryDark">@color/my_primary_dark_car_color</item>
        <item name="carColorSecondary">@color/my_secondary_car_color</item>
        <item name="carColorSecondaryDark">@color/my_secondary_dark_car_color</item>
        <item name="carPermissionActivityLayout">@layout/my_custom_background</item>
      </style>
    </resources>
    

自動車向けアプリの API レベル

自動車向けアプリ ライブラリでは独自に API レベルが定義されるため、ライブラリのどの機能が車両のテンプレート ホストでサポートされているかを確認できます。 ホストでサポートされている自動車向けアプリの API レベルを取得するには、 getCarAppApiLevel() メソッドを使用します。

アプリでサポートされている自動車向けアプリの最小 API レベルを AndroidManifest.xml ファイルで宣言します。

<manifest ...>
    <application ...>
        <meta-data
            android:name="androidx.car.app.minCarApiLevel"
            android:value="1"/>
    </application>
</manifest>

下位互換性を維持し、機能を使用するために必要な最小 API レベルを宣言する方法については、 アノテーションのドキュメントをご覧ください。RequiresCarApi自動車向けアプリ ライブラリの特定の機能を使用するために必要な API レベルの定義については、 リファレンス ドキュメント CarAppApiLevelsをご確認ください。