از 27 مارس 2025، توصیه می کنیم از android-latest-release
به جای aosp-main
برای ساختن و کمک به AOSP استفاده کنید. برای اطلاعات بیشتر، به تغییرات AOSP مراجعه کنید.
تنظیمات دارایی
با مجموعهها، منظم بمانید
ذخیره و طبقهبندی محتوا براساس اولویتهای شما.
هر ویژگی پشتیبانی شده توسط یک پیکربندی ویژگی تعریف شده از طریق ساختار VehiclePropConfig
مشخص می شود و دارای فیلدهای زیر است.
میدان | توضیحات | prop | شناسه ملک این باید یکی از ویژگی های سیستم تعریف شده از VehicleProperty.aidl یا یک ویژگی فروشنده باشد. شناسه ویژگی با استفاده از بیت یا فیلدهای زیر (راست به چپ) ساخته می شود: - (0x0000 0000 ) 16 بیت: شناسه منحصر به فرد از محدوده 0x0100 - 0xffff.
- (0x00 00 0000) 8 بیت: انواع ویژگی که نوع خاصیت را مشخص می کند.
- (0x0 0 000000) 4 بیت: انواع ناحیه .
- ( 0x 0000000) 4 بیت:
VehiclePropertyGroup این یا SYSTEM (0x10000000) یا VENDOR (0x20000000) است. برای خواصی که می توانید سفارشی کنید، به ویژگی های فروشنده مراجعه کنید.
به عنوان مثال، INFO_VIN (0x11100100) = UniqueID (0x00000100) | VehiclePropertyType.STRING (0x00100000) | VehicleArea.GLOBAL (0x01000000) | VehiclePropertyGroup.SYSTEM (0x10000000) |
access | - حالت دسترسی برای ملک. باید یکی از
READ , WRITE , یا READ_WRITE باشد . - برای ویژگی های سیستم، این باید یکی از حالت های دسترسی تعریف شده باشد که در
VehicleProperty.aidl مستند شده است. - برای خواصی که دسترسی هر ناحیه دارند، این حداکثر زیرمجموعه دسترسی هر ناحیه است، به عنوان مثال، اگر ویژگی ها دو ناحیه داشته باشند که دسترسی آنها
READ و READ_WRITE است، باید روی READ تنظیم شود.
|
changeMode | - تغییر حالت برای ملک باید یکی از
STATIC , ON_CHANGE , یا CONTINUOUS باشد . STATIC به این معنی است که مقدار ویژگی هرگز پس از بوت شدن سیستم تغییر نمی کند. ON_CHANGE به این معنی است که VHAL باید هنگام تغییر مقدار گزارش دهد. CONTINUOUS به این معنی است که مقدار ویژگی به طور مداوم تغییر می کند و VHAL باید بر اساس نرخ نمونه اشتراک گزارش دهد. - برای ویژگی های سیستم، این باید با حالت تغییر مستند شده در
VehicleProperty.aidl برابر باشد.
|
configArray | یک آرایه اختیاری برای حاوی پیکربندی خاص. می تواند خالی باشد. برای ویژگی های سیستم خاص، به عنوان مثال، GEAR_SELECTION ، آرایه پیکربندی معنای خاصی دارد و باید مشخص شود. |
configString | یک رشته اختیاری که حاوی پیکربندی خاص ویژگی باشد. می تواند خالی باشد. |
minSampleRate و maxSampleRate | حداقل و حداکثر نرخ نمونه پشتیبانی شده برای ویژگی پیوسته (به هرتز). اگر دارایی پیوسته نباشد استفاده نمی شود. minSampleRate و maxSampleRate باید با اجرای VHAL قابل دستیابی باشند. همه نرخهای نمونه بین حداقل و حداکثر نباید پشتیبانی شوند. |
انواع املاک
به عنوان enum در VehiclePropertyType.aidl
تعریف شده است. انواع اموال پشتیبانی شده در جدول زیر فهرست شده است.
نوع ملک | ارزش | توضیحات | STRING | 0x00100000 | ویژگی String، از فیلد stringValue در مقدار ویژگی Vehicle استفاده می کند. |
BOOLEAN | 0x00200000 | ویژگی Boolean ، از اولین عنصر در فیلد int32Values در مقدار ویژگی Vehicle استفاده می کند. 0 به معنای false ، None 0 به معنای true . |
INT32 | 0x00400000 | ویژگی Integer ، از اولین عنصر در فیلد int32Values در مقدار ویژگی Vehicle استفاده می کند. |
INT32_VEC | 0x00410000 | ویژگی Integer[] ، از عناصر فیلد int32Values در مقدار ویژگی Vehicle استفاده می کند. |
INT64 | 0x00500000 | ویژگی Long، از اولین عنصر در فیلد int64Values در مقدار ویژگی Vehicle استفاده می کند. |
INT64_VEC | 0x00510000 | ویژگی Long[] ، از عناصر فیلد int64Values در مقدار ویژگی Vehicle استفاده می کند. |
FLOAT | 0x00600000 | ویژگی Float ، از اولین عنصر در قسمت floatValues در مقدار ویژگی Vehicle استفاده می کند. |
FLOAT_VEC | 0x00610000 | ویژگی Float[] ، از عناصر فیلد floatValues در مقدار ویژگی Vehicle استفاده می کند. |
BYTES | 0x00700000 | ویژگی byte[] ، از عناصر فیلد byteValues در مقدار ویژگی خودرو استفاده می کند. |
MIXED | 0x00e00000 | خاصیت نوع مختلط هر ترکیبی از انواع اسکالر یا برداری. فرمت دقیق باید در آرایه پیکربندی در پیکربندی ویژگی ارائه شود. برای ویژگی های نوع MIXED فروشنده، configArray باید در این ساختار قالب بندی شود: -
configArray[0] ، 1 نشان می دهد که خاصیت دارای مقدار String است -
configArray[1] ، 1 نشان می دهد که ویژگی دارای یک مقدار Boolean است -
configArray[2] , 1 نشان می دهد که ویژگی دارای مقدار Integer است -
configArray[3] ، عدد نشان دهنده اندازه Integer[] در ویژگی است -
configArray[4] ، 1 نشان می دهد که ویژگی دارای مقدار Long است -
configArray[5] ، عدد نشان دهنده اندازه Long[] در ویژگی است -
configArray[6] ، 1 نشان می دهد که ویژگی دارای مقدار Float است -
configArray[7] ، عدد نشان دهنده اندازه Float[] در ویژگی است -
configArray[8] ، عدد نشان دهنده اندازه byte[] در ویژگی است.
به عنوان مثال، configArray = {1, 1, 1, 3, 0, 0, 0, 0, 0} نشان می دهد که ویژگی دارای یک مقدار String ، یک مقدار Boolean ، یک مقدار Integer و یک آرایه با سه عدد صحیح است. |
پیکربندی شناسه منطقه
هر پیکربندی ویژگی همچنین ممکن است حاوی لیستی از پیکربندی های شناسه ناحیه باشد. این لیست برای ویژگی های سراسری اختیاری است و برای ویژگی های منطقه بندی شده (خواص با چندین ناحیه پشتیبانی شده) لازم است. هر پیکربندی شناسه ناحیه دارای فیلدهای زیر است.
میدان | توضیحات | areaId | شناسه این منطقه شناسه های منطقه را ببینید. |
minInt32Value و maxInt32Value | - حداقل و حداکثر مقدار اختیاری برای خصوصیات نوع INT32 در زمان بوت. برای همه انواع دیگر باید 0 باشد. اگر هر دو 0 باشند نادیده گرفته می شود.
- برای ویژگی جهانی، اگر مقدار حداقل و حداکثر نیاز به تعریف باشد، باید از یک پیکربندی ناحیه با شناسه ناحیه 0 استفاده شود.
- این مقدار ثابت است و حتی اگر مقدار حداقل یا حداکثر در زمان اجرا تغییر کند، تغییر نخواهد کرد.
IVehicle#getMinMaxSupportedValue برای حداقل یا حداکثر مقدار پویا پیاده سازی کنید.
|
minInt64Value و maxInt64Value | - حداقل و حداکثر مقدار اختیاری برای خصوصیات نوع INT64 در زمان بوت. برای همه انواع دیگر باید 0 باشد. اگر هر دو 0 باشند نادیده گرفته می شود.
- برای ویژگی جهانی، اگر مقدار حداقل و حداکثر نیاز به تعریف باشد، باید از یک پیکربندی ناحیه با شناسه ناحیه 0 استفاده شود.
- این مقدار ثابت است و حتی اگر مقدار حداقل یا حداکثر در زمان اجرا تغییر کند، تغییر نخواهد کرد.
IVehicle#getMinMaxSupportedValue برای حداقل یا حداکثر مقدار پویا پیاده سازی کنید.
|
minFloatValue و maxFloatValue | - حداقل و حداکثر مقدار اختیاری برای ویژگی های نوع Float در زمان راه اندازی. برای همه انواع دیگر باید 0 باشد. اگر هر دو 0.0 باشند نادیده گرفته می شود.
- برای ویژگی جهانی، اگر مقدار حداقل و حداکثر نیاز به تعریف باشد، باید از یک پیکربندی ناحیه با شناسه ناحیه 0 استفاده شود.
- این مقدار ثابت است و حتی اگر مقدار حداقل یا حداکثر در زمان اجرا تغییر کند، تغییر نخواهد کرد.
IVehicle#getMinMaxSupportedValue برای حداقل یا حداکثر مقدار پویا پیاده سازی کنید.
|
( جدید در اندروید 14 ) supportedEnumValues | - لیست اختیاری مقادیر پشتیبانی شده در زمان راهاندازی اگر ویژگی به عنوان یک ویژگی نوع enum تعریف شده باشد. اگر مشخص نشده باشد (خالی) یا قبل از Android 14، فرض می شود که تمام مقادیر enum پشتیبانی می شوند.
- برای ویژگی عمومی، اگر مقادیر enum پشتیبانی شده نیاز به تعریف داشته باشند، باید از یک پیکربندی ناحیه با شناسه ناحیه 0 استفاده شود.
- این مقدار ثابت است و حتی اگر مقادیر پشتیبانی شده در زمان اجرا تغییر کنند، تغییر نخواهد کرد.
IVehicle#getSupportedValuesLists برای مقادیر پشتیبانی شده پویا پیاده سازی کنید. - این فقط برای خصوصیات نوع enum اعمال می شود. برای انواع دیگر، این قسمت باید خالی باشد. برای نمایش مقادیر پشتیبانی شده برای سایر انواع غیر enum، از
IVehicle#getSupportedValuesLists استفاده کنید.
|
( جدید در اندروید 15 ) supportVariableUpdateRate | - اینکه آیا نرخ بهروزرسانی متغیر پشتیبانی میشود یا خیر. این فقط برای خواص پیوسته اعمال می شود.
- اگر این
true باشد، برنامه میتواند نرخ بهروزرسانی متغیر را برای یک اشتراک فعال کند تا رویدادهای بهروزرسانی دارایی را فقط زمانی که مقدار ویژگی تغییر میکند (که ویژگیهای پیوسته را به عنوان ویژگیهای در حال تغییر تلقی میکند) دریافت کند. - اگر همه مشترکین یک ویژگی نرخ بهروزرسانی متغیر را فعال کنند، درخواست اشتراک VHAL نرخ بهروزرسانی متغیر را برای ویژگی فعال میکند و VHAL باید رویدادهای بهروزرسانی ویژگی را فقط زمانی ارسال کند که مقدار ویژگی تغییر کند.
- اگر هر مشترکی درخواست نرخ بهروزرسانی ثابتی داشته باشد، درخواست اشتراک VHAL نرخ بهروزرسانی متغیر را برای ویژگی غیرفعال میکند و AAOS رویدادهای تکراری را برای مشتریانی که نرخ بهروزرسانی متغیر درخواست میکنند فیلتر میکند.
- به شدت توصیه میشود که از نرخ بهروزرسانی متغیر برای همه ویژگیهای پیوسته بدون ضربان قلب برای عملکرد بهتر پشتیبانی شود، مگر اینکه دادههای ویژگی بزرگ باشند (به عنوان مثال، یک آرایه بایت با اندازه ۱k) و ممکن است مقدار زیادی از حافظه را برای ذخیرهسازی اشغال کند.
|
( جدید در اندروید 16 ) hasSupportedValueInfo | - اگر
null نباشد، نشان می دهد که آیا این ویژگی حداقل یا حداکثر مقادیر پشتیبانی شده یا لیست مقادیر پشتیبانی شده را مشخص می کند. - این فیلد کنترل میکند که آیا APIهای ارزش پشتیبانی شده پویا:
getMinMaxSupportedValue ، getSupportedValuesLists ، subscribeSupportedValueChange ، unsubscribeSupportedValueChange برای این شناسه ویژگی و شناسه منطقه پشتیبانی میشوند یا خیر. - اگر
null نباشد، VHAL باید این APIها را برای شناسه این ویژگی و شناسه ناحیه پیادهسازی کند. - اگر
null یا در Android 15 یا پایینتر باشد، مقادیر پشتیبانی شده پویا برای این شناسه ویژگی و شناسه منطقه پشتیبانی نمیشوند. مشتری باید از اطلاعات ارزش پشتیبانی شده استاتیک ارائه شده در پیکربندی ویژگی خودرو استفاده کند.
|
انواع منطقه
به عنوان enum در VehicleArea.aidl
تعریف شده است. انواع مناطق پشتیبانی شده در زیر فهرست شده است.
نوع منطقه | ارزش | توضیحات | جهانی | 0x01000000 | این ملک یک اموال جهانی است و چندین ناحیه ندارد. |
پنجره | 0x03000000 | ناحیه مبتنی بر ویندوز، از Enum VehicleAreaWindow استفاده می کند. |
آینه | 0x04000000 | منطقه مبتنی بر آینه، از VehicleAreaMirror enum استفاده می کند. |
صندلی | 0x05000000 | منطقه بر اساس صندلی، از VehicleAreaSeat enum استفاده می کند. |
درب | 0x06000000 | منطقه بر اساس درب، از VehicleAreaDoor enum استفاده می کند. |
چرخ | 0x07000000 | منطقه مبتنی بر چرخ، از VehicleAreaWheel enum استفاده می کند. |
هر ویژگی منطقه بندی شده باید از نوع منطقه از پیش تعریف شده استفاده کند. هر نوع ناحیه دارای مجموعه ای از پرچم های بیت است که در یک enum برای نوع ناحیه تعریف شده است. به عنوان مثال، ناحیه SEAT شماره های VehicleAreaSeat
تعریف می کند:
-
ROW_1_LEFT = 0x0001
-
ROW_1_CENTER = 0x0002
-
ROW_1_RIGHT = 0x0004
-
ROW_2_LEFT = 0x0010
-
ROW_2_CENTER = 0x0020
-
ROW_2_RIGHT = 0x0040
-
ROW_3_LEFT = 0x0100
-
...
شناسه های منطقه
ویژگی های منطقه بندی شده از طریق شناسه های منطقه نشان داده می شوند. هر ویژگی منطقه بندی شده ممکن است از یک یا چند شناسه منطقه پشتیبانی کند. شناسه منطقه شامل یک یا چند پرچم از شماره مربوطه آن است. برای مثال، یک ویژگی با استفاده از VehicleAreaSeat
ممکن است از شناسههای ناحیه زیر استفاده کند:
مورد | توضیحات | ROW_1_LEFT | ROW_1_RIGHT | شناسه منطقه برای هر دو صندلی جلو اعمال می شود. |
ROW_2_LEFT | فقط برای صندلی عقب چپ اعمال می شود. |
ROW_2_RIGHT | فقط برای صندلی عقب راست اعمال می شود. |
برای کسب اطلاعات بیشتر، HVAC را ببینید.
محتوا و نمونه کدها در این صفحه مشمول پروانههای توصیفشده در پروانه محتوا هستند. جاوا و OpenJDK علامتهای تجاری یا علامتهای تجاری ثبتشده Oracle و/یا وابستههای آن هستند.
تاریخ آخرین بهروزرسانی 2025-06-12 بهوقت ساعت هماهنگ جهانی.
[[["درک آسان","easyToUnderstand","thumb-up"],["مشکلم را برطرف کرد","solvedMyProblem","thumb-up"],["غیره","otherUp","thumb-up"]],[["اطلاعاتی که نیاز دارم وجود ندارد","missingTheInformationINeed","thumb-down"],["بیشازحد پیچیده/ مراحل بسیار زیاد","tooComplicatedTooManySteps","thumb-down"],["قدیمی","outOfDate","thumb-down"],["مشکل ترجمه","translationIssue","thumb-down"],["مشکل کد / نمونهها","samplesCodeIssue","thumb-down"],["غیره","otherDown","thumb-down"]],["تاریخ آخرین بهروزرسانی 2025-06-12 بهوقت ساعت هماهنگ جهانی."],[],[]]