কার অ্যাপ এপিআই লেভেল ৩ থেকে শুরু করে, আপনি গাড়ির বৈশিষ্ট্য এবং সেন্সরগুলো অ্যাক্সেস করতে কার অ্যাপ লাইব্রেরি এপিআই ব্যবহার করতে পারবেন।
প্রয়োজনীয়তা
অ্যান্ড্রয়েড অটোর সাথে এপিআইগুলো ব্যবহার করতে, প্রথমে আপনার অ্যান্ড্রয়েড অটো মডিউলের build.gradle ফাইলে androidx.car.app:app-projected ডিপেন্ডেন্সিটি যোগ করুন। অ্যান্ড্রয়েড অটোমোটিভ ওএস-এর জন্য, আপনার অ্যান্ড্রয়েড অটোমোটিভ ওএস মডিউলের build.gradle ফাইলে androidx.car.app:app-automotive ডিপেন্ডেন্সিটি যোগ করুন।
এছাড়াও, আপনার AndroidManifest.xml ফাইলে, আপনি যে গাড়ির ডেটা ব্যবহার করতে চান তার জন্য প্রয়োজনীয় অনুমতিগুলো অবশ্যই ঘোষণা করতে হবে। ব্যবহারকারীকেও আপনাকে এই অনুমতিগুলো প্রদান করতে হবে। প্ল্যাটফর্ম-নির্ভর ফ্লো তৈরি না করে, আপনি Android Auto এবং Android Automotive OS-এ একই কোড ব্যবহার করতে পারেন। তবে, প্রয়োজনীয় অনুমতিগুলো ভিন্ন।
গাড়ির তথ্য
এই সারণিতে CarInfo API-তে প্রদত্ত বৈশিষ্ট্যসমূহ এবং সেগুলি ব্যবহার করার জন্য প্রয়োজনীয় অনুমতিগুলির বর্ণনা দেওয়া হয়েছে।
| পদ্ধতি | বৈশিষ্ট্য | অনুমতিসমূহ: অ্যান্ড্রয়েড অটো | অনুমতিসমূহ: AAOS | গাড়ির অ্যাপ এপিআই |
|---|---|---|---|---|
fetchModel | প্রস্তুতকারক, মডেল, বছর | android.car.permission.CAR_INFO | ৩ | |
fetchEnergyProfile | ইভি সংযোগকারী প্রকার, জ্বালানির প্রকার | com.google.android.gms.permission.CAR_FUEL | android.car.permission.CAR_INFO | ৩ |
fetchExteriorDimensionsডেটা শুধুমাত্র কিছু AAOS গাড়ির ক্ষেত্রেই উপলব্ধ, যেগুলো API 30 বা তার চেয়ে উচ্চতর সংস্করণে চলে। | বাহ্যিক মাত্রা | প্রযোজ্য নয় | android.car.permission.CAR_INFO | ৭ |
| টোল কার্ডের অবস্থা, টোল কার্ডের ধরন | ৩ | |||
| ব্যাটারির স্তর, জ্বালানির স্তর, জ্বালানির স্তর কম, অবশিষ্ট রেঞ্জ | com.google.android.gms.permission.CAR_FUEL | android.car.permission.CAR_ENERGYandroid.car.permission.CAR_ENERGY_PORTSandroid.car.permission.READ_CAR_DISPLAY_UNITS | ৩ | |
| প্রকৃত গতি, প্রদর্শিত গতি (গাড়ির ক্লাস্টার ডিসপ্লেতে দেখানো) | com.google.android.gms.permission.CAR_SPEED | android.car.permission.CAR_SPEEDandroid.car.permission.READ_CAR_DISPLAY_UNITS | ৩ | |
| ওডোমিটার দূরত্ব | com.google.android.gms.permission.CAR_MILEAGE | গুগল প্লে থেকে ইনস্টল করা অ্যান্ড্রয়েড অটোমোটিভ ওএস অ্যাপগুলির জন্য ডেটা উপলব্ধ নয়। | ৩ |
উদাহরণস্বরূপ, অবশিষ্ট পরিসর পেতে, একটি CarInfo অবজেক্ট ইনস্ট্যানশিয়েট করুন, তারপর একটি OnCarDataAvailableListener তৈরি এবং রেজিস্টার করুন:
val carInfo = carContext.getCarService(CarHardwareManager::class.java).carInfo val listener = OnCarDataAvailableListener<EnergyLevel> { data -> if (data.rangeRemainingMeters.status == CarValue.STATUS_SUCCESS) { val rangeRemaining = data.rangeRemainingMeters.value } else { // Handle error } } carInfo.addEnergyLevelListener(carContext.mainExecutor, listener) // ... // Unregister the listener when you no longer need updates carInfo.removeEnergyLevelListener(listener)
গাড়ির ডেটা সব সময় পাওয়া যাবে, এমনটা ধরে নেবেন না। যদি কোনো ত্রুটি দেখা দেয়, তাহলে আপনার অনুরোধ করা ডেটা কেন পাওয়া যায়নি তা আরও ভালোভাবে বোঝার জন্য সেটির স্ট্যাটাস পরীক্ষা করুন। CarInfo ক্লাসের সংজ্ঞা সম্পর্কে আরও জানতে, রেফারেন্স ডকুমেন্টেশন দেখুন।
গাড়ির সেন্সর
CarSensors ক্লাসটি আপনাকে গাড়ির অ্যাক্সেলেরোমিটার, জাইরোস্কোপ, কম্পাস এবং অবস্থানের ডেটা অ্যাক্সেস করার সুযোগ দেয়। এই মানগুলির প্রাপ্যতা OEM-এর উপর নির্ভর করতে পারে। অ্যাক্সেলেরোমিটার, জাইরোস্কোপ এবং কম্পাস থেকে প্রাপ্ত ডেটার ফরম্যাটটি SensorManager API থেকে প্রাপ্ত ডেটার ফরম্যাটের মতোই।
উদাহরণস্বরূপ, যানবাহনটির গতিপথ পরীক্ষা করতে:
val carSensors = carContext.getCarService(CarHardwareManager::class.java).carSensors val listener = OnCarDataAvailableListener<Compass> { data -> if (data.orientations.status == CarValue.STATUS_SUCCESS) { val orientation = data.orientations.value } else { // Data not available, handle error } } carSensors.addCompassListener(CarSensors.UPDATE_RATE_NORMAL, carContext.mainExecutor, listener) // ... // Unregister the listener when you no longer need updates carSensors.removeCompassListener(listener)
গাড়ি থেকে অবস্থানের ডেটা অ্যাক্সেস করতে, আপনাকে অবশ্যই android.permission.ACCESS_FINE_LOCATION পারমিশনটি ঘোষণা এবং অনুরোধ করতে হবে।
পরীক্ষা
অ্যান্ড্রয়েড অটোতে পরীক্ষা করার সময় সেন্সর ডেটা সিমুলেট করতে, ডেস্কটপ হেড ইউনিট গাইডের সেন্সর এবং সেন্সর কনফিগারেশন বিভাগগুলি দেখুন। অ্যান্ড্রয়েড অটোমোটিভ ওএস-এ পরীক্ষা করার সময় সেন্সর ডেটা সিমুলেট করতে, অ্যান্ড্রয়েড অটোমোটিভ ওএস এমুলেটর গাইডের এমুলেট হার্ডওয়্যার স্টেট দেখুন।