تتيح تطبيقات إنترنت الأشياء للمستخدمين اتخاذ إجراءات ذات صلة على الأجهزة المتصلة من داخل السيارة. وتشمل الأمثلة التحكّم في حالة أجهزة معيّنة، مثل فتح باب المرآب أو تشغيل مفاتيح الإضاءة في المنزل أو تفعيل نظام الأمان في المنزل.
الإفصاح عن دعم الفئة في ملف البيان
يجب أن يفصح تطبيقك عن androidx.car.app.category.IOT
فئة تطبيقات السيارات
في intent filter الخاص بـ
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 للسيارات لمعرفة كيفية إنشاء تطبيقات "مكتبة تطبيقات السيارات". يُرجى أيضًا قراءة إرشادات جودة تطبيقات السيارات لتطبيقات إنترنت الأشياء ، لأنّه سيتم تقييم تطبيقك وفقًا لهذه الإرشادات.
بالنسبة إلى تطبيقات إنترنت الأشياء، يُعدّ 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()