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.
androidx.car.app.category.NAVIGATION: Adım adım navigasyon talimatları sağlar. Arabalar için navigasyon uygulamaları geliştirme başlıklı makaleyi inceleyin.androidx.car.app.category.POI: Park yerleri, şarj istasyonları ve benzin istasyonları gibi ilgi çekici yerleri bulmayla ilgili işlevler sunar. Arabalar için önemli yer uygulamaları geliştirme başlıklı makaleyi inceleyin.androidx.car.app.category.IOT: Kullanıcıların arabadan bağlı cihazlarda ilgili işlemleri yapmasına olanak tanır. Arabalar için Nesnelerin İnterneti uygulamaları geliştirme başlıklı makaleyi inceleyin.androidx.car.app.category.WEATHER: Kullanıcıların mevcut konumlarıyla veya rotalarıyla ilgili hava durumu bilgilerini görmelerini sağlar. Arabalar için hava durumu uygulamaları geliştirme başlıklı makaleyi inceleyin.androidx.car.app.category.MEDIA: Kullanıcıların arabada müzik, radyo, sesli kitap ve diğer işitsel içeriklere göz atıp bunları oynatmasına olanak tanır. Arabalar için şablonlu medya uygulamaları oluşturma başlıklı makaleyi inceleyin.androidx.car.app.category.MESSAGING: Kullanıcıların kısa metin mesajlarıyla iletişim kurmasına olanak tanır. Android Auto için şablonlu mesajlaşma deneyimleri oluşturma başlıklı makaleyi inceleyin.androidx.car.app.category.CALLING: Kullanıcıların sesli arama ile iletişim kurmasına olanak tanır. Android Auto için arama deneyimleri oluşturma başlıklı makaleyi inceleyin.
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:
Manifest dosyanıza bir
<meta-data>öğesi ekleyin:<meta-data android:name="androidx.car.app.theme" android:resource="@style/MyCarAppTheme />Ö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.