IoT uygulamaları, kullanıcıların araba içinden bağlı cihazlarda alakalı işlemler yapmasına olanak tanır. Garaj kapısı açma, ev ışık anahtarlarını çevirme veya ev güvenliğini etkinleştirme gibi belirli cihazların durumunu kontrol etme, bunlara örnek olarak verilebilir.
Manifest'inizde kategori desteğini beyan etme
Uygulamanızın, CarAppService
aracının intent filtresinde androidx.car.app.category.IOT
araba uygulaması kategorisini beyan etmesi gerekir.
<application>
...
<service
...
android:name=".MyCarAppService"
android:exported="true">
<intent-filter>
<action android:name="androidx.car.app.CarAppService" />
<category android:name="androidx.car.app.category.IOT"/>
</intent-filter>
</service>
...
<application>
Uygulamanızın işlevlerini uygulayın
Uygulamanızı kullanmak için Araba Uygulama Kitaplığı uygulamalarının nasıl oluşturulacağını öğrenmek için Arabalar için Android Uygulama Kitaplığı'nı kullanma bölümüne bakın. Ayrıca, uygulamanız bu yönergelere göre inceleneceği için iOS uygulamaları için Araba Uygulaması Kalite Yönergeleri hakkında bilgi edinmeyi unutmayın.
GridTemplate
, aşağıdaki örnekte gösterildiği gibi, IoT uygulamalarında cihazların listesini görüntülemek ve kullanıcıların bunlarla etkileşim kurmasına izin vermek için mükemmel bir seçenektir:
Kotlin
val listBuilder = ItemList.Builder() listBuilder.addItem( GridItem.Builder() .setTitle("Garage door") .setImage(...) // Handle user interactions .setOnClickListener {...} .build() ) listBuilder.addItem( GridItem.Builder() .setTitle("Garage lights") // Show a loading indicator until the status of the device is known // (call invalidate() when the status is known to refresh the screen) .setLoading(true) .build() ) return GridTemplate.Builder() .setTitle("Devices") .setHeaderAction(Action.APP_ICON) .setSingleList(listBuilder.build()) .build()
Java
ItemList.Builder listBuilder = new ItemList.Builder(); listBuilder.addItem( new GridItem.Builder() .setTitle("Garage door") .setImage(...) // Handle user interactions .setOnClickListener(() -> {...}) .build() ); listBuilder.addItem( new GridItem.Builder() .setTitle("Garage lights") // Show a loading indicator until the status of the device is known // (call invalidate() when the status is known to refresh the screen) .setLoading(true) .build() ); return new GridTemplate.Builder() .setTitle("Devices") .setHeaderAction(Action.APP_ICON) .setSingleList(listBuilder.build()) .build();