בדף הזה מוסבר איך להתקין את ספריית האפליקציות לרכב ואיך להגדיר את קובץ המניפסט של האפליקציה.
התקנת ספריית האפליקציות לרכב
כדי להוסיף את הספרייה לאפליקציה, אפשר לעיין בדף הפרסום של ספריית 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.
androidx.car.app.category.NAVIGATION: מספק הוראות ניווט מפורטות. מידע נוסף זמין במאמר בנושא פיתוח אפליקציות ניווט לרכב.
androidx.car.app.category.POI: מספק פונקציונליות שרלוונטית למציאת נקודות עניין כמו מקומות חנייה, תחנות טעינה ותחנות דלק. אפשר לקרוא מידע נוסף במאמר בנושא פיתוח אפליקציות של נקודות עניין לרכב.
androidx.car.app.category.IOT: מאפשר למשתמשים לבצע פעולות רלוונטיות במכשירים מחוברים מתוך המכונית. אפשר לקרוא את המאמר בנושא פיתוח אפליקציות לאינטרנט של הדברים לרכבים.
androidx.car.app.category.WEATHER: מאפשר למשתמשים לראות מידע רלוונטי על מזג האוויר שקשור למיקום הנוכחי שלהם או למסלול הנסיעה שלהם. אפשר לקרוא מידע נוסף במאמר בנושא בניית אפליקציות מזג אוויר לרכבים.
androidx.car.app.category.MEDIA: מאפשר למשתמשים לעיין במוזיקה, בתחנות רדיו, בספרי אודיו ובתוכן אודיו אחר ולהפעיל אותם ברכב. מידע נוסף זמין במאמר בנושא בניית אפליקציות מדיה מבוססות-תבניות לרכבים.
androidx.car.app.category.MESSAGING: מאפשר למשתמשים לתקשר באמצעות הודעות טקסט קצרות. אפשר לקרוא מידע נוסף במאמר בנושא יצירת חוויות העברת הודעות מבוססות-תבניות ל-Android Auto.
androidx.car.app.category.CALLING: מאפשר למשתמשים לתקשר באמצעות שיחות קוליות. מידע נוסף זמין במאמר יצירת חוויות שיחה ל-Android Auto.
תיאורים מפורטים של כל קטגוריה והקריטריונים שנדרשים כדי לעמוד בדרישות של קטגוריה מסוימת זמינים במאמר בנושא איכות אפליקציות ל-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>.
הגדרת עיצוב מותאם אישית
כדי להגדיר עיצוב מותאם אישית לאפליקציה לרכב:
מוסיפים רכיב
<meta-data>לקובץ המניפסט:<meta-data android:name="androidx.car.app.theme" android:resource="@style/MyCarAppTheme />מגדירים את משאב הסגנון כדי להגדיר את המאפיינים של העיצוב המותאם אישית של אפליקציית הרכב:
<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.