IoT ऐप्लिकेशन की मदद से उपयोगकर्ता, कार में कनेक्ट किए गए डिवाइसों पर ज़रूरी कार्रवाइयां कर सकते हैं. उदाहरण के लिए, कुछ डिवाइसों की स्थिति को कंट्रोल करना. जैसे, गैराज का दरवाज़ा खोलना, घर की लाइट के स्विच को चालू या बंद करना या घर की सुरक्षा को चालू करना.
मेनिफ़ेस्ट फ़ाइल में, कैटगरी के साथ काम करने की सुविधा के बारे में जानकारी देना
आपके ऐप्लिकेशन को, CarAppService के इंटेंट फ़िल्टर में androidx.car.app.category.IOT
कार ऐप्लिकेशन कैटगरी का एलान करना होगा.
<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 ऐप्लिकेशन' की लाइब्रेरी का इस्तेमाल करना लेख पढ़ें. इसमें बताया गया है कि Car App Library वाले ऐप्लिकेशन कैसे बनाए जाते हैं. साथ ही, आईओटी ऐप्लिकेशन के लिए, कार में इस्तेमाल होने वाले ऐप्लिकेशन की क्वालिटी के दिशा-निर्देशों के बारे में ज़रूर जान लें. आपके ऐप्लिकेशन की समीक्षा इन्हीं दिशा-निर्देशों के आधार पर की जाएगी.
आईओटी ऐप्लिकेशन के लिए, 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()