สร้างแอปอินเทอร์เน็ตของสรรพสิ่ง

แอป IOT ช่วยให้ผู้ใช้สามารถดำเนินการที่เกี่ยวข้องในอุปกรณ์ที่เชื่อมต่อจากภายใน รถยนต์ ตัวอย่างเช่น การควบคุมสถานะของอุปกรณ์บางอย่าง เช่น การเปิดประตูโรงรถ การเปิดสวิตช์ไฟในบ้าน หรือการรักษาความปลอดภัยในบ้าน

ประกาศการรองรับหมวดหมู่ในไฟล์ Manifest

แอปของคุณต้องประกาศ 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();