הגדרת הפרויקט

בדף הזה מוסבר איך להתקין את ספריית האפליקציות לרכב ואיך להגדיר את קובץ המניפסט של האפליקציה.

התקנת ספריית האפליקציות לרכב

כדי להוסיף את הספרייה לאפליקציה, אפשר לעיין בדף הפרסום של ספריית Jetpack.

הגדרת קובצי המניפסט של האפליקציה

לפני שיוצרים אפליקציה לרכב, צריך להגדיר את קבצי המניפסט של האפליקציה.

הצהרה על CarAppService

המארח מתחבר לאפליקציה שלכם באמצעות ההטמעה של CarAppService. מצהירים על השירות הזה במניפסט כדי שהמארח יוכל לגלות את האפליקציה ולהתחבר אליה.

בנוסף, צריך להצהיר על הקטגוריה של האפליקציה ברכיב <category> של מסנן ה-Intent של האפליקציה. אפשר לעיין ברשימה של קטגוריות האפליקציות הנתמכות כדי לראות את הערכים המותרים לרכיב הזה.

בקטע הקוד הבא מוצג איך להצהיר על שירות של אפליקציה לרכב עבור אפליקציה של נקודות עניין במניפסט:

<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.

תיאורים מפורטים של כל קטגוריה והקריטריונים שנדרשים כדי לעמוד בדרישות של קטגוריה מסוימת זמינים במאמר בנושא איכות אפליקציות ל-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>
    

רמת API של אפליקציה לרכב

ספריית Car App מגדירה רמות API משלה, כדי שתוכלו לדעת אילו תכונות של הספרייה נתמכות במארח התבניות ברכב. כדי לאחזר את רמת ה-API הגבוהה ביותר של אפליקציית רכב שנתמכת על ידי מארח, משתמשים ב-method‏ getCarAppApiLevel().

מצהירים על רמת API של Car App המינימלית שהאפליקציה תומכת בה בקובץ AndroidManifest.xml:

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

פרטים על שמירה על תאימות לדורות קודמים והצהרה על רמת ה-API המינימלית שנדרשת לשימוש בתכונה מופיעים במסמכי העזרה בנושא הערת RequiresCarApi. כדי לדעת איזו רמת API נדרשת לשימוש בתכונה מסוימת של Car App Library, אפשר לעיין במאמרי העזרה של CarAppApiLevels.