Projekt einrichten

Auf dieser Seite wird beschrieben, wie Sie die Programmbibliothek Car App installieren und die Manifestdatei für Ihre App konfigurieren.

Programmbibliothek Car App installieren

Informationen zum Hinzufügen der Bibliothek zu Ihrer App finden Sie auf der Release-Seite der Jetpack-Bibliothek.

Manifestdateien der App konfigurieren

Bevor Sie mit der Erstellung Ihrer Auto-App loslegen können, müssen die Manifestdateien entsprechend konfiguriert werden.

CarAppService deklarieren

Der Host stellt über Ihre CarAppService-Implementierung eine Verbindung zu Ihrer App her. Sie deklarieren diesen Dienst in Ihrem Manifest, damit der Host Ihre App erkennen und eine Verbindung zu ihr herstellen kann.

Sie müssen die Kategorie Ihrer App auch im Element <category> des Intent-Filters Ihrer App deklarieren. Eine Liste der unterstützten App-Kategorien mit den zulässigen Werten für dieses Element finden Sie hier.

Das folgende Code-Snippet zeigt, wie Sie einen CarAppService für eine POI-App in Ihrem Manifest deklarieren:

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

Unterstützte App-Kategorien

Wenn Sie Ihren CarAppService wie hier beschrieben deklarieren, müssen Sie auch die Kategorie Ihrer App angeben, indem Sie dem Intent-Filter einen oder mehrere dieser Werte hinzufügen.

Ausführliche Beschreibungen der einzelnen Kategorien mit den dazugehörigen Qualifikationskriterien finden Sie unter Qualität von Android-Apps für Autos.

App-Name und ‑Symbol angeben

Damit Ihre App in der System-UI dargestellt werden kann, muss in carPermissionActivityLayout ein App-Name und ein Symbol für den Host angegeben werden. Verwenden Sie die Attribute label und icon Ihres CarAppService, um den App-Namen und das Symbol anzugeben, die vom Host zur Darstellung Ihrer App verwendet werden:

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

Wenn Sie im Element <service> kein Label oder Symbol deklarieren, greift der Host auf die Werte zurück, die im Element <application> angegeben sind.

Benutzerdefiniertes Design festlegen

So legen Sie ein benutzerdefiniertes Design für Ihre Auto-App fest:

  1. Fügen Sie in Ihrer Manifestdatei ein <meta-data>-Element hinzu:

    <meta-data
        android:name="androidx.car.app.theme"
        android:resource="@style/MyCarAppTheme />
    
  2. Deklarieren Sie Ihre Style-Ressource, um die Attribute für das benutzerdefinierte Design Ihrer Auto-App festzulegen:

    <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-Level für Auto-Apps

In der Car App Library werden eigene API-Levels definiert, damit Sie wissen, welche Bibliotheksfunktionen vom Template-Host auf einem Fahrzeug unterstützt werden. Verwenden Sie die Methode getCarAppApiLevel(), um das höchste von einem Host unterstützte Car App API-Level abzurufen.

Deklarieren Sie das von Ihrer App unterstützte Mindest-Car App API-Level in der Datei AndroidManifest.xml:

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

Weitere Informationen zur Aufrechterhaltung der Abwärtskompatibilität und zur Deklaration des Mindest-API-Levels, das für die Verwendung einer Funktion erforderlich ist, finden Sie in der Dokumentation zur Annotation RequiresCarApi. Eine Definition des API-Levels, das für die Verwendung einer bestimmten Funktion der Car App Library erforderlich ist, finden Sie in der Referenzdokumentation für CarAppApiLevels.