إعداد مشروعك

توضّح هذه الصفحة كيفية تثبيت مكتبة تطبيقات السيارات وكيفية ضبط ملف البيان الخاص بتطبيقك.

تثبيت مكتبة "تطبيقات السيارة"

لإضافة المكتبة إلى تطبيقك، راجِع صفحة إصدار مكتبة Jetpack.

ضبط ملفات بيان تطبيقك

قبل إنشاء تطبيق للسيارة، يجب ضبط ملفات البيان الخاصة بتطبيقك.

تعريف CarAppService

يتصل المضيف بتطبيقك من خلال تنفيذ CarAppService. عليك تعريف هذه الخدمة في البيان لكي يتمكّن المضيف من العثور على تطبيقك والاتصال به.

يجب أيضًا الإفصاح عن فئة تطبيقك في العنصر <category> الخاص بفلتر الأهداف في تطبيقك. اطّلِع على قائمة فئات التطبيقات المتوافقة لمعرفة القيم المسموح بها لهذا العنصر.

يوضّح مقتطف الرمز التالي كيفية تعريف خدمة تطبيق سيارة لتطبيق خاص بنقاط الاهتمام في ملف البيان:

<application>
    ...
   <service
       ...
        android:name=".MyCarAppService"
        android:exported="true">
      <intent-filter>
        <action android:name="androidx.car.app.CarAppService"/>
        <category android:name="androidx.car.app.category.POI"/>
      </intent-filter>
    </service>

    ...
<application>

فئات التطبيقات المتوافقة

عند تعريف CarAppService كما هو موضّح في تعريف CarAppService، عليك أيضًا تعريف فئة تطبيقك من خلال إضافة قيمة واحدة أو أكثر من هذه القيم في intent filter.

للحصول على أوصاف تفصيلية لكل فئة والمعايير المطلوبة للتأهّل لها، يمكنك الاطّلاع على جودة تطبيقات Android للسيارات.

تحديد اسم التطبيق ورمزه

لتمثيل تطبيقك في واجهة مستخدم النظام، يجب أن يحدّد carPermissionActivityLayout اسم التطبيق ورمزه للمضيف. استخدِم سمتَي label وicon في CarAppService لتحديد اسم التطبيق والرمز الذي يستخدمه المضيف لتمثيل تطبيقك:

...
<service
   android:name=".MyCarAppService"
   android:exported="true"
   android:label="@string/my_app_name"
   android:icon="@drawable/my_app_icon">
   ...
</service>
...

إذا لم تحدّد تسمية أو رمزًا في العنصر <service>، سيعود التطبيق المضيف إلى القيم المحدّدة في العنصر <application>.

ضبط مظهر مخصّص

لضبط مظهر مخصّص لتطبيق السيارة، اتّبِع الخطوات التالية:

  1. أضِف عنصر <meta-data> في ملف البيان:

    <meta-data
        android:name="androidx.car.app.theme"
        android:resource="@style/MyCarAppTheme />
    
  2. عليك تعريف مصدر التصميم لضبط السمات الخاصة بتصميم تطبيق السيارة المخصّص:

    <resources>
      <style name="MyCarAppTheme">
        <item name="carColorPrimary">@color/my_primary_car_color</item>
        <item name="carColorPrimaryDark">@color/my_primary_dark_car_color</item>
        <item name="carColorSecondary">@color/my_secondary_car_color</item>
        <item name="carColorSecondaryDark">@color/my_secondary_dark_car_color</item>
        <item name="carPermissionActivityLayout">@layout/my_custom_background</item>
      </style>
    </resources>
    

مستوى واجهة برمجة التطبيقات لتطبيقات السيارات

تحدّد &quot;مكتبة تطبيقات السيارات&quot; مستويات واجهة برمجة التطبيقات الخاصة بها حتى تتمكّن من معرفة ميزات المكتبة المتوافقة مع مضيف النماذج في السيارة. لاسترداد أعلى مستوى لواجهة برمجة تطبيقات Car App API متوافق مع مضيف، استخدِم الطريقة getCarAppApiLevel.

عليك الإفصاح عن الحد الأدنى لمستوى Car App API الذي يتيحه تطبيقك في ملف AndroidManifest.xml:

<manifest ...>
    <application ...>
        <meta-data
            android:name="androidx.car.app.minCarApiLevel"
            android:value="1"/>
    </application>
</manifest>

للحصول على تفاصيل حول الحفاظ على التوافق مع الإصدارات القديمة وتحديد الحد الأدنى لمستوى واجهة برمجة التطبيقات المطلوب لاستخدام إحدى الميزات، راجِع مستندات التعليق التوضيحي RequiresCarApi. للاطّلاع على تعريف لمستوى واجهة برمجة التطبيقات المطلوب لاستخدام ميزة معيّنة في &quot;مكتبة تطبيقات السيارات&quot;، راجِع المستندات المرجعية الخاصة CarAppApiLevels.