একটি ইন্টারনেট অফ থিংস অ্যাপ তৈরি করুন
সেভ করা পৃষ্ঠা গুছিয়ে রাখতে 'সংগ্রহ' ব্যবহার করুন
আপনার পছন্দ অনুযায়ী কন্টেন্ট সেভ করুন ও সঠিক বিভাগে রাখুন।
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 for Cars অ্যাপ লাইব্রেরি ব্যবহার করুন দেখুন। এছাড়াও, IOT অ্যাপগুলির জন্য কার অ্যাপের গুণমানের নির্দেশিকাগুলির সাথে নিজেকে পরিচিত করতে ভুলবেন না, কারণ এই নির্দেশিকাগুলির বিরুদ্ধে আপনার অ্যাপ পর্যালোচনা করা হবে।
IOT অ্যাপ্লিকেশানগুলির জন্য, GridTemplate
ডিভাইসগুলির একটি তালিকা প্রদর্শন করার জন্য এবং ব্যবহারকারীকে তাদের সাথে ইন্টারঅ্যাক্ট করার অনুমতি দেওয়ার জন্য একটি দুর্দান্ত পছন্দ, যেমনটি নিম্নলিখিত নমুনায় দেখানো হয়েছে:
কোটলিন
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()
জাভা
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();
এই পৃষ্ঠার কন্টেন্ট ও কোডের নমুনাগুলি Content License-এ বর্ণিত লাইসেন্সের অধীনস্থ। Java এবং OpenJDK হল Oracle এবং/অথবা তার অ্যাফিলিয়েট সংস্থার রেজিস্টার্ড ট্রেডমার্ক।
2025-07-29 UTC-তে শেষবার আপডেট করা হয়েছে।
[null,null,["2025-07-29 UTC-তে শেষবার আপডেট করা হয়েছে।"],[],[],null,["# Build an internet of things app\n\nIOT apps enable users to take relevant actions on connected devices from within\nthe car. Examples include controlling the state of certain devices, such as\nopening a garage door, flipping home light switches, or enabling home security.\n\nDeclare category support in your manifest\n-----------------------------------------\n\nYour app needs to declare the `androidx.car.app.category.IOT`\n[car app category](/training/cars/apps#supported-app-categories) in the intent\nfilter of its [`CarAppService`](/reference/androidx/car/app/CarAppService). \n\n \u003capplication\u003e\n ...\n \u003cservice\n ...\n android:name=\".MyCarAppService\"\n android:exported=\"true\"\u003e\n \u003cintent-filter\u003e\n \u003caction android:name=\"androidx.car.app.CarAppService\" /\u003e\n \u003ccategory android:name=\"androidx.car.app.category.IOT\"/\u003e\n \u003c/intent-filter\u003e\n \u003c/service\u003e\n ...\n \u003capplication\u003e\n\nImplement your app's functionality\n----------------------------------\n\nTo implement your app, refer to\n[Using the Android for Cars App Library](/training/cars/apps) on how Car App\nLibrary apps are built. Also, be sure to familiarize yourself with the\n[Car App Quality Guidelines for IOT apps](/docs/quality-guidelines/car-app-quality?category=iot#app_categories)\n, as your app will be reviewed against these guidelines.\n\nFor IOT apps, the [`GridTemplate`](/reference/androidx/car/app/model/GridTemplate)\nis a great choice for displaying a list of devices and allowing the user to\ninteract with them, as shown in the following sample: \n\n### Kotlin\n\n```kotlin\nval listBuilder = ItemList.Builder()\n\nlistBuilder.addItem(\n GridItem.Builder()\n .setTitle(\"Garage door\")\n .setImage(...)\n // Handle user interactions\n .setOnClickListener {...}\n .build()\n)\n\nlistBuilder.addItem(\n GridItem.Builder()\n .setTitle(\"Garage lights\")\n // Show a loading indicator until the status of the device is known\n // (call invalidate() when the status is known to refresh the screen)\n .setLoading(true)\n .build()\n)\n\nreturn GridTemplate.Builder()\n .setTitle(\"Devices\")\n .setHeaderAction(Action.APP_ICON)\n .setSingleList(listBuilder.build())\n .build()\n```\n\n### Java\n\n```java\nItemList.Builder listBuilder = new ItemList.Builder();\n\nlistBuilder.addItem(\n new GridItem.Builder()\n .setTitle(\"Garage door\")\n .setImage(...)\n // Handle user interactions\n .setOnClickListener(() -\u003e {...})\n .build()\n);\n\nlistBuilder.addItem(\n new GridItem.Builder()\n .setTitle(\"Garage lights\")\n // Show a loading indicator until the status of the device is known\n // (call invalidate() when the status is known to refresh the screen)\n .setLoading(true)\n .build()\n);\n\nreturn new GridTemplate.Builder()\n .setTitle(\"Devices\")\n .setHeaderAction(Action.APP_ICON)\n .setSingleList(listBuilder.build())\n .build();\n```"]]