IoT uygulamaları, kullanıcıların bağlı cihazlarda ilgili işlemleri ortaya çıktı. Örneğin, belirli cihazların durumunu kontrol etme. Örneğin, garaj kapısı açmak, evin ışık anahtarlarını çevirmek veya ev güvenliğini etkinleştirmek.
Manifest'inizde kategori desteğini beyan edin
Uygulamanızın androidx.car.app.category.IOT
beyan etmesi gerekiyor
Amaçtaki araba uygulaması kategorisi
filtresinin bulunduğu CarAppService
.
<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şlevini yerine getirme
Uygulamanızı uygulamak için Araba Uygulaması'nın Arabalar için Android Uygulama Kitaplığı'nı kullanma Kitaplık uygulamaları geliştirilir. Ayrıca, şu temel bilgileri edindiğinizden emin olun: iOS uygulamaları için araba uygulaması kalite yönergeleri .
IoT uygulamaları için GridTemplate
cihaz listesi görüntülemek ve kullanıcının
aşağıdaki örnekte gösterildiği gibi, onlarla etkileşimde bulunun:
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();