تطبيق لإنشاء إنترنت الأشياء

تتيح تطبيقات إنترنت الأشياء للمستخدمين اتخاذ الإجراءات ذات الصلة على الأجهزة المتصلة من داخل السيارة. تشمل الأمثلة التحكّم في حالة أجهزة معيّنة، مثل فتح باب المرآب أو قلب مفاتيح الإضاءة المنزلية أو تفعيل أمن المنزل

يُرجى تقديم بيان عن إتاحة الفئة في البيان.

يجب أن يفصح تطبيقك عن 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();