Projenizi oluşturun

Bu sayfada, Car App kitaplığının nasıl yükleneceği ve uygulamanızın manifest dosyasının nasıl yapılandırılacağı açıklanmaktadır.

Araba uygulaması kitaplığını yükleme

Kitaplığı uygulamanıza eklemek için Jetpack kitaplığı sürüm sayfasını inceleyin.

Uygulamanızın manifest dosyalarını yapılandırma

Araba uygulamanızı oluşturmadan önce uygulamanızın manifest dosyalarını yapılandırmanız gerekir.

CarAppService'inizi tanımlama

Barındırıcı, CarAppService uygulamanız üzerinden uygulamanıza bağlanır. Bu hizmeti, ana makinenin uygulamanızı keşfedip bağlanabilmesi için manifest dosyanızda bildirirsiniz.

Ayrıca, uygulamanızın intent filtresinin <category> öğesinde uygulamanızın kategorisini de belirtmeniz gerekir. Bu öğe için izin verilen değerler hakkında bilgi edinmek üzere desteklenen uygulama kategorileri listesine bakın.

Aşağıdaki kod snippet'inde, manifestinizde bir ilgi alanı uygulaması için araba uygulaması hizmetinin nasıl tanımlanacağı gösterilmektedir:

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

Desteklenen uygulama kategorileri

CarAppService bölümünde açıklandığı gibi CarAppService'inizi beyan ettiğinizde, intent filtresine bu değerlerden birini veya daha fazlasını ekleyerek uygulamanızın kategorisini de beyan etmeniz gerekir.

Her kategorinin ayrıntılı açıklamaları ve bir kategoriye uygunluk için gereken ölçütler hakkında bilgi edinmek için Arabalar için Android uygulama kalitesi başlıklı makaleyi inceleyin.

Uygulama adını ve simgesini belirtin

carPermissionActivityLayout, uygulamanızı sistem kullanıcı arayüzünde temsil etmek için ana makineye yönelik bir uygulama adı ve simge belirtmelidir. Barındırıcının uygulamanızı temsil etmek için kullandığı uygulama adını ve simgesini belirtmek üzere CarAppService öğenizin label ve icon özelliklerini kullanın:

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

<service> öğesinde bir etiket veya simge bildirmezseniz ana makine, <application> öğesi tarafından belirtilen değerlere geri döner.

Özel tema ayarlama

Araba uygulamanız için özel tema ayarlamak üzere:

  1. Manifest dosyanıza bir <meta-data> öğesi ekleyin:

    <meta-data
        android:name="androidx.car.app.theme"
        android:resource="@style/MyCarAppTheme />
    
  2. Özel araba uygulaması temanızın özelliklerini ayarlamak için stil kaynağınızı tanımlayın:

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

Araba uygulaması API düzeyi

Araba Uygulaması Kitaplığı, hangi kitaplık özelliklerinin araçtaki şablon ana makinesi tarafından desteklendiğini bilmeniz için kendi API düzeylerini tanımlar. Bir ana makine tarafından desteklenen en yüksek Car App API düzeyini almak için getCarAppApiLevel() yöntemini kullanın.

Uygulamanızın desteklediği minimum Car App API düzeyini AndroidManifest.xml dosyanızda bildirin:

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

Geriye dönük uyumluluğu koruma ve bir özelliği kullanmak için gereken minimum API düzeyini bildirme hakkında ayrıntılı bilgi için RequiresCarApi ek açıklamasıyla ilgili dokümanlara bakın. Car App Library'nin belirli bir özelliğini kullanmak için hangi API düzeyinin gerekli olduğunu öğrenmek istiyorsanız CarAppApiLevels ile ilgili referans belgelerine göz atın.