אפליקציות IOT מאפשרות למשתמשים לבצע פעולות רלוונטיות במכשירים מחוברים מתוך במכונית. לדוגמה, שליטה במצב של מכשירים מסוימים, כמו פתיחת דלת החניה, החלפת מתגי התאורה של הבית או הפעלת אבטחת הבית.
הצהרה על תמיכה בקטגוריות במניפסט
האפליקציה שלך צריכה להצהיר על androidx.car.app.category.IOT
קטגוריית אפליקציה של רכב ב-Intent
מסנן 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();