برنامههای «اینترنت اشیا» به کاربران امکان میدهد کنشهای مرتبط را در دستگاههای متصل از داخل خودرو انجام دهند. مثالها شامل کنترل وضعیت برخی دستگاهها، مانند باز کردن در گاراژ، روشن و خاموش کردن کلیدهای چراغ خانه، یا فعال کردن امنیت خانه میشود.
پشتیبانی از دسته را در مانیفست خود اعلام کنید
برنامه شما باید androidx.car.app.category.IOT
دسته برنامه خودرو
را در فیلتر هدف
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>
عملکرد برنامهتان را پیادهسازی کنید
برای پیادهسازی برنامهتان، در استفاده از «کتابخانه برنامه Android برای ماشینها» نحوه ساخت برنامههای «کتابخانه برنامه ماشین» را ببینید. همچنین، حتماً دستورالعملهای کیفیت برنامه خودرو برای برنامههای IOT را بخوانید، زیرا برنامهتان براساس این دستورالعملها بررسی خواهد شد.
برای برنامههای «اینترنت اشیا»، GridTemplate
گزینه خوبی برای نمایش فهرست دستگاهها و اجازه دادن به کاربران برای
تعامل با آنها است، همانطور که در نمونه زیر نشان داده شده است:
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()