اعتبارًا من 27 آذار (مارس) 2025، ننصحك باستخدام android-latest-release
بدلاً من aosp-main
لإنشاء AOSP والمساهمة فيه. لمزيد من المعلومات، يُرجى الاطّلاع على التغييرات في AOSP.
تطوير التطبيقات بدون مكتبة واجهة المستخدم في السيارة
تنظيم صفحاتك في مجموعات
يمكنك حفظ المحتوى وتصنيفه حسب إعداداتك المفضّلة.
مكتبة واجهة المستخدم في السيارة (car-ui-library): مكتبة واجهة مستخدم ذاتية الاكتفاء للسيارات يمكن تخصيصها من قِبل المصنّعين الأصليين للسيارات. تنصح Google بشدة
باستخدام مكتبة car-ui-library لإنشاء تطبيقك. وإذا لم يكن ذلك ممكنًا، هناك
بديلان:
- اعتبارًا من Android 12، يمكنك استخدام
car-rotary-lib
،
وهي مجموعة فرعية من car-ui-library.
- في Android 11، يجب تنفيذ
FocusParkingView
وFocusArea
و
DirectManipulationHelper
كما هو موضّح أدناه.
تنفيذ FocusParkingView
يمكنك تنفيذ FocusParkingView
الخاص بك أو نسخ الصف من مكتبة
car-ui-library إلى مشروعك.
لتنفيذ FocusParkingView
:
- أدخِل اسم فئة تسهيل الاستخدام في الرمز البرمجي الثابت حتى يتمكّن
RotaryService
من التعرّف عليه:
@Override
public CharSequence getAccessibilityClassName() {
return "com.android.car.ui.FocusParkingView";
}
تنفيذ FocusArea
مثل FocusParkingView
، يمكنك تنفيذ FocusArea
أو نسخ الفئة من car-ui-library إلى مشروعك.
لتنفيذ FocusArea
:
- أدخِل اسم فئة تسهيل الاستخدام في الرمز البرمجي الثابت حتى تتمكّن خدمة العرض الدوّري من التعرّف عليه:
@Override
public CharSequence getAccessibilityClassName() {
return "com.android.car.ui.FocusArea";
}
تنفيذ DirectManipulationHelper
هذه فئة تطبيقات مساعدة. يمكنك نسخ الفئة من car-ui-library إلى مشروعك.
يخضع كل من المحتوى وعيّنات التعليمات البرمجية في هذه الصفحة للتراخيص الموضحّة في ترخيص استخدام المحتوى. إنّ Java وOpenJDK هما علامتان تجاريتان مسجَّلتان لشركة Oracle و/أو الشركات التابعة لها.
تاريخ التعديل الأخير: 2025-07-27 (حسب التوقيت العالمي المتفَّق عليه)
[[["يسهُل فهم المحتوى.","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-07-27 (حسب التوقيت العالمي المتفَّق عليه)"],[],[],null,["# Develop apps without the Car UI library\n\nThe\n[Car UI Library (car-ui-library)](/docs/automotive/hmi/car_ui)\nis a self-consistent automotive UI library that can be customized by OEMs. Google strongly\nrecommends you use the car-ui-library to create your app. If this isn't feasible, there are\ntwo alternatives:\n\n- From Android 12, you can use `car-rotary-lib`, a subset of car-ui-library.\n- On Android 11, you MUST implement your own `FocusParkingView`, `FocusArea`, and `DirectManipulationHelper` as described below.\n\nImplement FocusParkingView\n--------------------------\n\nYou either can implement your own `FocusParkingView` or copy the class from the\ncar-ui-library to your project.\n\nTo implement `FocusParkingView`:\n\n1. Hard code the accessibility class name so that the `RotaryService` can recognize it: \n\n ```\n @Override\n public CharSequence getAccessibilityClassName() {\n return \"com.android.car.ui.FocusParkingView\";\n }\n ```\n\nImplement FocusArea\n-------------------\n\nLike `FocusParkingView`, you can either implement your own `FocusArea`\nor copy the class from the car-ui-library to your project.\n\nTo implement `FocusArea`:\n\n1. Hard code the accessibility class name so that rotary service can recognize it: \n\n ```\n @Override\n public CharSequence getAccessibilityClassName() {\n return \"com.android.car.ui.FocusArea\";\n }\n ```\n\nImplement DirectManipulationHelper\n----------------------------------\n\nThis is a utility class. You can copy the class from the car-ui-library to your project."]]