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ığı yayın 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. Ana makinenin uygulamanızı keşfedip bağlanabilmesi için bu hizmeti manifestinizde bildirirsiniz.

Ayrıca, uygulamanızın intent filtresinin <category> öğesinde uygulamanızın kategorisini de beyan etmeniz 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 ilgi alanı uygulaması için bir 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çıklaması 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.

Google Play'de uygulamanızı listelemek için seçtiğiniz kategoriyle bağlı değildir. Bu kategori, kullanıcıların Play Store'da en alakalı uygulamaları keşfetmelerine yardımcı olmak için kullanılır.

Uygulama adını ve simgesini belirtin

Uygulamanızı sistem kullanıcı arayüzünde temsil etmek için carPermissionActivityLayout, ana makine için 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

Car App Library, 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ının belgelerine 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 belgeleri inceleyin.