Configura tu proyecto

En esta página, se describe cómo instalar la biblioteca de Car App y cómo configurar el archivo de manifiesto de tu app.

Cómo instalar la biblioteca de Car App

Para agregar la biblioteca a tu app, consulta la página de versiones de la biblioteca de Jetpack.

Cómo configurar los archivos del manifiesto de tu app

Antes de crear tu app para vehículos, debes configurar sus archivos de manifiesto.

Declara tu CarAppService

El host se conecta a tu app a través de tu implementación de CarAppService. Debes declarar este servicio en el manifiesto para permitir que el host descubra tu app y se conecte a ella.

También debes declarar la categoría de tu app en el elemento <category> del filtro de intents de la app. Si quieres conocer los valores permitidos para este elemento, consulta la lista de categorías de apps compatibles.

En el siguiente fragmento de código, se muestra cómo declarar un servicio de app para vehículos para una app de lugares de interés en tu manifiesto:

<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>

Categorías de app compatibles

Cuando declares tu CarAppService como se describe en Cómo declarar tu CarAppService, también debes declarar la categoría de tu app agregando uno o más de estos valores en el filtro de intents.

Si deseas obtener descripciones detalladas de cada categoría y los criterios necesarios para calificar para una categoría, consulta Calidad de las apps para Android para vehículos.

Especifica el nombre y el ícono de la app

Para representar tu app en la IU del sistema, carPermissionActivityLayout debe especificar un nombre y un ícono de la app para el host. Usa los atributos label y icon de tu CarAppService para especificar el nombre y el ícono de la app que usa el host para representarla:

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

Si no declaras una etiqueta o un ícono en el elemento <service>, el host recurrirá a los valores especificados por el elemento <application>.

Cómo establecer un tema predeterminado

Para establecer un tema personalizado para tu app para vehículos, haz lo siguiente:

  1. Agrega un elemento <meta-data> en tu archivo de manifiesto:

    <meta-data
        android:name="androidx.car.app.theme"
        android:resource="@style/MyCarAppTheme />
    
  2. Declara tu recurso de estilo para configurar los atributos del tema de tu app para vehículos personalizada:

    <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>