تتيح تطبيقات إنترنت الأشياء للمستخدمين اتخاذ الإجراءات ذات الصلة على الأجهزة المتصلة من داخل السيارة. تشمل الأمثلة التحكّم في حالة أجهزة معيّنة، مثل فتح باب المرآب أو قلب مفاتيح الإضاءة المنزلية أو تفعيل أمن المنزل
يُرجى تقديم بيان عن إتاحة الفئة في البيان.
يجب أن يفصح تطبيقك عن 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) ، لأنّه ستتم مراجعة تطبيقك وفقًا لهذه الإرشادات.
بالنسبة إلى تطبيقات إنترنت الأشياء (IoT)، تتضمن GridTemplate
خيارًا رائعًا لعرض قائمة الأجهزة والسماح للمستخدم
للتفاعل معها، كما هو موضح في العينة التالية:
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();