IoT uygulamaları, kullanıcıların arabadan bağlı cihazlarda ilgili işlemleri yapmasına olanak tanır. Örneğin, belirli cihazların durumunu kontrol etme (ör. garaj kapısını açma, evdeki ışık anahtarlarını çevirme veya ev güvenliğini etkinleştirme)
Manifest dosyanızda kategori desteğini bildirin
Uygulamanız, CarAppService manifest dosyasının intent filtresinde androidx.car.app.category.IOT
araba uygulaması kategorisini
beyan etmelidir.
<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 uygulama
Uygulamanızı uygulamak için Car App Library uygulamalarının nasıl oluşturulduğu hakkında bilgi edinmek üzere Arabalar için Android uygulama kitaplığını kullanma başlıklı makaleyi inceleyin. Ayrıca, uygulamanız bu yönergelere göre inceleneceğinden IOT uygulamaları için Araba Uygulaması Kalite Yönergeleri'ni okuduğunuzdan emin olun.
IoT uygulamalarında, aşağıdaki örnekte gösterildiği gibi, cihaz listesini görüntülemek ve kullanıcıların bu cihazlarla etkileşim kurmasına izin vermek için GridTemplate iyi bir seçimdir:
val listBuilder = ItemList.Builder() val headerBuilder = Header.Builder() val garageIcon = IconCompat.createWithResource( carContext, R.drawable.ic_garage ) listBuilder.addItem( GridItem.Builder() .setTitle("Garage door") .setImage( CarIcon.Builder(garageIcon).build(), GridItem.IMAGE_TYPE_ICON ) .setOnClickListener { // Handle user interactions } .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() .setHeader( headerBuilder.setTitle("Devices") .setStartHeaderAction(Action.APP_ICON).build() ) .setSingleList(listBuilder.build()) .build()