Configurer votre projet

Cette page explique comment installer la bibliothèque Car App et configurer le fichier manifeste de votre application.

Installer la bibliothèque Car App

Pour ajouter la bibliothèque à votre application, consultez la page de publication de la bibliothèque Jetpack.

Configurer les fichiers manifestes de votre application

Avant de pouvoir créer votre application automobile, vous devez configurer les fichiers manifestes de votre application.

Déclarer votre CarAppService

L'hôte se connecte à votre application via votre implémentation CarAppService. Vous déclarez ce service dans votre fichier manifeste pour permettre à l'hôte de découvrir votre application et de s'y connecter.

Vous devez également déclarer la catégorie de votre application dans l'élément <category> du filtre d'intent de votre application. Pour connaître les valeurs autorisées pour cet élément, consultez la liste des catégories d'applications compatibles.

L'extrait de code suivant montre comment déclarer un service d'application automobile pour une application de points d'intérêt dans votre fichier manifeste :

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

Catégories d'applications compatibles

Lorsque vous déclarez votre CarAppService comme décrit dans Déclarer votre CarAppService, vous devez également déclarer la catégorie de votre application en ajoutant une ou plusieurs de ces valeurs dans le filtre d'intent.

Pour obtenir des descriptions détaillées de chaque catégorie et des critères requis pour y être éligible, consultez Qualité des applications Android pour les voitures.

Spécifier le nom et l'icône de l'application

Pour représenter votre application dans l'UI du système, carPermissionActivityLayout doit spécifier un nom d'application et une icône pour l'hôte. Utilisez les attributs label et icon de votre CarAppService pour spécifier le nom et l'icône de l'application utilisés par l'hôte pour représenter votre application :

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

Si vous ne déclarez pas de libellé ni d'icône dans l'élément <service>, l'hôte revient aux valeurs spécifiées par l'élément <application>.

Définir un thème personnalisé

Pour définir un thème personnalisé pour votre application automobile :

  1. Ajoutez un élément <meta-data> dans votre fichier manifeste :

    <meta-data
        android:name="androidx.car.app.theme"
        android:resource="@style/MyCarAppTheme />
    
  2. Déclarez votre ressource de style pour définir les attributs de votre thème d'application automobile personnalisée :

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

Niveau d'API Car App

La bibliothèque Car App définit ses propres niveaux d'API pour que vous puissiez savoir quelles fonctionnalités de la bibliothèque sont prises en charge par l'hôte de modèle sur un véhicule. Pour récupérer le niveau d'API Car App le plus élevé compatible avec un hôte, utilisez la méthode getCarAppApiLevel().

Déclarez le niveau d'API Car App minimal accepté par votre application dans votre fichier AndroidManifest.xml :

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

Pour en savoir plus sur la rétrocompatibilité et la déclaration du niveau d'API minimal requis pour utiliser une fonctionnalité, consultez la documentation sur l'annotation RequiresCarApi. Pour savoir quel niveau d'API est requis pour utiliser une fonctionnalité spécifique de la bibliothèque d'applications pour voitures, consultez la documentation de référence pour CarAppApiLevels.