Menyiapkan project

Halaman ini menjelaskan cara menginstal library Aplikasi Mobil dan cara mengonfigurasi file manifes untuk aplikasi Anda.

Menginstal library Aplikasi Mobil

Untuk menambahkan library ke aplikasi Anda, lihat halaman rilis library Jetpack release page.

Mengonfigurasi file manifes aplikasi Anda

Sebelum dapat membuat aplikasi mobil, Anda harus mengonfigurasi file manifes aplikasi Anda .

Mendeklarasikan CarAppService Anda

Host terhubung ke aplikasi Anda melalui implementasi CarAppService. Anda mendeklarasikan layanan ini dalam manifes agar host dapat menemukan dan terhubung ke aplikasi Anda.

Anda juga harus mendeklarasikan kategori aplikasi Anda dalam elemen <category> dari filter intent aplikasi Anda. Lihat daftar kategori aplikasi yang didukung untuk mengetahui nilai yang diizinkan untuk elemen ini.

Cuplikan kode berikut menunjukkan cara mendeklarasikan layanan aplikasi mobil untuk aplikasi lokasi menarik di manifes Anda:

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

Kategori aplikasi yang didukung

Saat mendeklarasikan CarAppService seperti yang dijelaskan dalam Mendeklarasikan CarAppService Anda, Anda juga harus mendeklarasikan kategori aplikasi dengan menambahkan satu atau beberapa nilai ini di filter intent.

Untuk mengetahui deskripsi mendetail setiap kategori dan kriteria yang diperlukan untuk memenuhi syarat kategori, lihat Kualitas aplikasi Android untuk mobil.

Menentukan nama dan ikon aplikasi

Untuk merepresentasikan aplikasi Anda di UI sistem, carPermissionActivityLayout harus menentukan nama aplikasi dan ikon untuk host. Gunakan atribut label dan icon dari CarAppService untuk menentukan nama dan ikon aplikasi yang digunakan oleh host untuk merepresentasikan aplikasi Anda:

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

Jika Anda tidak mendeklarasikan label atau ikon dalam elemen <service>, host akan kembali ke nilai yang ditentukan oleh elemen <application>.

Menetapkan tema kustom

Untuk menetapkan tema kustom untuk aplikasi mobil Anda:

  1. Tambahkan elemen <meta-data> di file manifes Anda:

    <meta-data
        android:name="androidx.car.app.theme"
        android:resource="@style/MyCarAppTheme />
    
  2. Deklarasikan resource gaya Anda untuk menetapkan atribut untuk tema aplikasi mobil kustom Anda:

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

Library Aplikasi Mobil menentukan API level-nya sendiri sehingga Anda dapat mengetahui fitur library mana yang didukung oleh host template pada kendaraan. Untuk mengambil API level Aplikasi Mobil tertinggi yang didukung oleh host, gunakan getCarAppApiLevel() metode.

Deklarasikan API level Aplikasi Mobil minimum yang didukung oleh aplikasi Anda di file AndroidManifest.xml:

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

Untuk mengetahui detail tentang mempertahankan kompatibilitas mundur dan mendeklarasikan API level minimum yang diperlukan untuk menggunakan fitur, lihat dokumentasi untuk RequiresCarApi anotasi. Untuk mengetahui definisi API level mana yang diperlukan untuk menggunakan fitur tertentu Library Aplikasi Mobil, lihat dokumentasi referensi untuk CarAppApiLevels.