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

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

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

כדי להוסיף את הספרייה לאפליקציה, אפשר לעיין בדף הגרסה של ספריית 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 המינימלית של אפליקציית הרכב שנתמכת על ידי האפליקציה בקובץ AndroidManifest.xml:

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

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