סקירת HMI

Android Automotive הוא פתרון פלטפורמת מידע בידור לרכב המסופק עם פרויקט הקוד הפתוח של Android (AOSP). המאמרים בנושא זה מציגים את המושגים והרכיבים המרכזיים המסופקים על ידי ממשק המשתמש של מערכת הרכב של Android ויישומי הליבה הדרושים לבניית מערכת ממשק מכונה (HMI) יעילה עבור יצרני OEM, מפתחי צד שלישי ומשתמשי קצה.

  • מדריך שילוב מארח AOSP . מארח האפליקציה מאפשר ליישומי רכב תלת-צדדיים להציג רכיבי ממשק משתמש (UI) בסגנון OEM בשמו.
  • מבנה הגדרות רכב . הגדרות רכב מספקות ממשק משתמש ויזואלי ממוקד במכונית, אופטימיזציות בסיסיות של הסחת דעת לנהג ונקודות כניסה נוספות להתאמה אישית עבור יצרני OEM.
  • מדריך שילוב ספריית ממשק משתמש לרכב . ספריית ממשק המשתמש של הרכב מספקת מסגרת לפיתוח ממשק משתמש כדי לאפשר לכל האפליקציות הקיימות במכונית להשיג עקביות והתאמה אישית.
  • התאם אישית את סמלי המערכת של שורת המצב . שורת המצב היא רכיב של ממשק המשתמש של מערכת אנדרואיד המשמש להצגת מידע חשוב למשתמשים בהתמדה. למד כיצד להתאים אישית את סמלי המערכת של שורת המצב.
  • הודעות ראש-אפ . למד כיצד להתאים אישית התראות ראש-אפ.
  • חייגן . השתמש באפליקציית מערכת Android זו כדי ליישם חוויה מותאמת להסחת דעת (DO) עבור שיחות Bluetooth, גלישה באנשי קשר וניהול שיחות.
  • מדיה . עם כמה הגדרות ושירות בלבד, מפתחים יכולים להרחיב אפליקציות מדיה קיימות. בעוד שאפליקציות חייבות לדבוק בתבנית מדיה לרכב, מפתחים יכולים להתאים אישית את צבעי התבנית, הגופנים, הסמלים ועוד כדי ליצור חוויה ממותגת.
  • התראות . למד כיצד לשנות את המראה והתצורות של התראות.

טרמינולוגיה

מונחים אלה משמשים ב-HMI ובמאמרים קשורים:

טווח הַגדָרָה
אפליקציות ליבה ערכת המפתח של אפליקציות קריטיות לפונקציונליות המערכת, כולל הגדרות, רדיו, HVAC, מדיה, חייגן ומקלדת.
מסמך הגדרת תאימות (CDD) מונה את הדרישות שיש לעמוד בהן כדי שמכשירים יהיו תואמים לגרסה העדכנית ביותר של אנדרואיד.
חבילת בדיקת תאימות (CTS) חבילת בדיקות בחינם בדרגה מסחרית, זמינה להורדה ב- Compatibility Test Suite Downloads .
התאמה אישית תרגיל של שינוי יישום AOSP כדי לעמוד בדרישות של OEM. בדרך כלל, הדבר כרוך בשימוש בשכבות-על של משאבים להחלת שינויים קוסמטיים תוך הבטחת תאימות ל-CDD, CTS ולכל ההנחיות הרלוונטיות לחוויית משתמש.
אפליקציות גיבור קבוצה של אפליקציות מפתח קריטיות לכל ההיבטים של אנדרואיד, כולל פונקציונליות, יכולת שדרוג, מערכת אקולוגית של מפתחים של צד שלישי ומשתמשי קצה. אפליקציות Hero כוללות התראות, הגדרות, מדיה ומרכז התקשורת/חייגן. יישומי AOSP תואמים צריכים להיות באיכות ייצור.
שכבות-על של משאבים כדי להשפיע על העיבוד של ממשק המשתמש, השתמש במנגנון זה כדי להחליף צבעים, לשנות ממדים, לאפשר שרטוט ולהחיל משאבי פריסה בזמן הקומפילציה (הנפוץ ביותר) או בזמן ריצה (Runtime Resource Overlays (RRO)).
ממשק המשתמש של המערכת ממשק המשתמש מחוץ לאפליקציה השייכת למערכת, כגון סרגל הניווט, שורת המצב, מסך הנעילה ושיח עוצמת הקול.
נושא אוסף של צבעים וסגנונות המשמשים לקביעת המראה והתחושה של הרכיבים והאפליקציות היורשים את הנושא.
חווית משתמש (UX) תחום עיצוב ממשק המשתמש (UI) והשימושיות שלו.

התאמה אישית

הטמעת AOSP של ממשק המשתמש של המערכת ויישומי הליבה אחרים של המערכת משמשת בסיס חזק לתחילת תהליך הפיתוח של HMI. התרגיל של שינוי הטמעת AOSP (בעיקר באמצעות שימוש בשכבות-על של משאבים) כדי לעמוד בדרישות המיתוג, העסקיות והחוקיות של יצרן OEM מכונה התאמה אישית .

בעוד שהמערכת הכוללת תוכננה ובנויה להיות גמישה, רכיבים שונים צפויים להיות מותאמים אישית בדרגות שונות:

  • ממשק המשתמש של המערכת. OEM יכול להתאים אישית או להחליף את הטמעת AOSP במסגרת הגבולות המוענקים על ידי ה-CDD וה-CTS וכל הנחיות UX רלוונטיות אחרות.

  • אפליקציות מערכת שאינן גיבורות (הידוע גם בשם רפרנס ) . יצרני OEM יכולים להתאים אישית או להחליף את הטמעת AOSP.

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

תצורת צפיפות

כדי להבטיח שרכיבי ממשק משתמש יוצגו כראוי בהתחשב בתצורת התצוגה הפיזית, יש להגדיר את המאפיין density ל-bucket ( Display Metrics ) המתאים ביותר לצפיפות הפיזית, כגון ערך זה בקובץ ה-build:

PRODUCT_PROPERTY_OVERRIDES := \
        ro.sf.lcd_density=160

מנוע הגבלות UX

CarUxRestrictionsManager מספק חיבור לאפליקציות להאזין לשינויים הקשורים למצב הנהיגה כדי לשנות את חוויית המשתמש כראוי. יצרני OEM יכולים לכסות את קובץ התצורה ב- packages/services/Car/service/res/xml/car_ux_restrictions_map.xml כדי להשפיע על התנהגות המערכת.

נושא המערכת

ערכת הנושא הקובעת את ערכת ברירת המחדל של הפריטים הכוללת, כגון צבעים וסגנונות טקסט, היא DeviceDefault . יצרני OEM מעודדים להתחיל את תהליך ההתאמה האישית הכולל על ידי שינוי ערכת הנושא DeviceDefault. כברירת מחדל, ממשק המשתמש של המערכת, וכל אפליקציות המערכת ב-AOSP, יורשים מהנושא הזה. מומלץ גם לאפליקציות מערכת שפותחו על ידי OEM לרשת את DeviceDefault. אפליקציות שפותחו על ידי צד שלישי אינן צפויות לרשת את DeviceDefault אלא להשתמש ב- Theme.Car המסופק בספריית androidx.car . הקבצים ממוקמים באופן הבא:

  • הליבה . /frameworks/base/core/res/res/values/themes_device_defaults.xml
  • צבעים . /frameworks/base/core/res/res/values/colors_car.xml
  • סגנונות . /frameworks/base/core/res/res/values/styles_car.xml
  • כיסוי לרכב.
    /packages/services/Car/car_product/overlay/.../values/themes_device_defaults.xml

יצרני OEM צפויים לקבל מבנה שכבת-על מקביל לספריית car_product בספריית הספקים שלהם, שמרחיב עוד יותר את שכבת-ה car_product .

אפליקציית Theme Playground

אפליקציה זו מייעלת את תהליך ההתאמה האישית של ערכת הנושא DeviceDefault על ידי הצגת כל תכונות הנושא במקום אחד. כמו כן, על ידי השוואה של אופן העיבוד של סגנונות מסוימים באפליקציה זו בהשוואה לאפליקציות מערכת אחרות, מפתחים יכולים לנפות במהירות בעיות בנושא נושא. אפליקציה זו זמינה ב:

  /packages/services/Car/tests/ThemePlayground

ממשק המשתמש של המערכת

ממשק המשתמש של המערכת כולל את כל ממשק המשתמש תחת /frameworks/base , בעיקר ב- /frameworks/base/packages/CarSystemUI . זה כולל את סרגל הניווט, שורת המצב, מסך הנעילה, תיבת הדו-שיח של עוצמת הקול, הטוסט, בוחר המשתמש ותיבות דו-שיח של הרשאות. יצרני OEM יכולים להתאים אישית את רכיבי ממשק המשתמש של המערכת באופן נרחב באמצעות שכבות-על של משאבים ועיצוב נושא, בתנאי שכל אחד מהם עומד בדרישות של CDD, CTS והנחיות UX רלוונטיות אחרות.

אפליקציות מערכת

Android Automotive כולל קבוצה של אפליקציות ליבה של מערכת קריטיות לפונקציונליות המערכת הכוללת. מבין אלה, מרכז התקשורת, המדיה, ההתראות וההגדרות נחשבות לאפליקציות גיבורות .

  • מרכז תקשורת
  • HVAC
  • IME (מקלדת)
  • משגר (מסך בית)
  • נגן מדיה מקומי
  • כְּלֵי תִקְשׁוֹרֶת
  • שָׁלִיחַ
  • התראות
  • רָדִיוֹ
  • הגדרות

מסך הבית

מסך הבית, המכונה משגר המכוניות , הוא דף הנחיתה של חווית ה-HMI. הטמעת AOSP משמשת כאסמכתא בלבד ויצרני OEM צפויים להחליף את המימוש בעצמם, המשלב לעיתים קרובות ניווט, השמעת מדיה, תקשורת ומצבי מערכת אחרים, לפי הצורך. לעתים קרובות, אפליקציית Car Launcher מציגה את האפליקציות הזמינות במערכת. כדי ללמוד כיצד לטפל באירועים כגון אחרונים, שינויים בחבילות ואפליקציות ללא ראש (ללא פעילות משגר), עיין ביישום העזר.

התראות

הודעות הן רכיב אינטגרלי של מערכת ההפעלה אנדרואיד ואותן מבנים (כולל הודעות ראשונות, רשימת הודעות/מרכז, ממשקי API של הודעות, דירוג ופעולות מוטבעות) נכללו ב-Android Automotive. לפרטים, עיין בסקירת ההתראות של כף היד. כדי לייעל מקרי שימוש ברכב, בוצעו השינויים הבאים (בהשוואה לערימת ההודעות בכף היד):

  • הפחתה בתוכן ההתראות הכולל הגלוי למשתמשים. הסרה של הפעלת מדיה מתמשכת, ניווט מתמשך והודעות שירות "לא חשובות" (החשיבות של LOW ומטה) של אפליקציות מערכת מרשימת ההודעות/מרכז ההתראות, מתוך הבנה שהודעות אלו הופכות למיותרות (למשל, אשכול המציג מצב מדיה ) או אינם שימושיים.

  • הסרה של בקרי הקשר מורכבים (כגון לחיצה ארוכה ופקדים מבוססי אורך החלקה).

  • כיבוד תצורת מנוע הגבלות ה-UX.

    • ייתכן שהתצוגה המקדימה של תוכן התראות הודעות תהיה מוסתרת על סמך מצב הכונן.
    • כל המיתרים מכוסים באורך מקסימלי.
  • תוספת של קטגוריות התראות חדשות במיוחד עבור מכוניות ב-Android 9, זמינה רק לאפליקציות מערכת מצורפות הפועלות כ- android.uid.system .

  • CATEGORY_CAR_EMERGENCY . מדורג בראש רשימת ההתראות. עוקף את בקרות 'נא לא להפריע' (DND).

  • CATEGORY_CAR_WARNING . מדורג מתחת לחרום ומעל אחרים (עוקף DND).
  • CATEGORY_CAR_INFORMATION . מדורג עם שאר ההודעות על סמך "חשיבות" ועדכניות.

היישום מקצה לקצה של מחסנית ההתראות, ממשקי API של הודעות ועד ממשק המשתמש, נחשבת לאפליקציית גיבור . כדי להבטיח יכולת פעולה הדדית עקבית של API בכל ה-HU וכדי למקסם את יכולת השדרוג, יצרני OEM מעודדים מאוד לקחת את יישום AOSP ולאחר מכן להתאים אותו בקלות.

התאמה אישית

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

packages/apps/Car/Notification/res/values/config.xml

הגדרות

אפליקציית ההגדרות ( Car Settings ) היא אחת מהאפליקציות הגיבורות שחושפות כפתורים, שבהם המשתמש יכול להשתמש כדי להגדיר היבטים של מערכת ההפעלה אנדרואיד ושאר הרכב. אפליקציית ההגדרות חושפת יותר מ-200 תכונות במערכת ההפעלה, המשולבות באופן הדוק עם כל מהדורת אנדרואיד גדולה. כדי לאפשר יכולת שדרוג וכדי למנוע פיצול, יצרני OEM מעודדים בחום לקחת את יישום ה-AOSP ולאחר מכן להתאים אותו (במקום לזלזל ביישום).

התאמה אישית

אפליקציית ההגדרות לוקחת בחשבון התאמה אישית וחושפת מספר אפיקים להתאמה אישית.

  • נושאים. מאפשר התאמה אישית ויזואלית של אופן עיבוד כל סוג אובייקט Preference, כולל:

    • Preference.DeviceDefault.CheckBoxPreference

    • Preference.DeviceDefault.DialogPreference.EditTextPreference

  • התאמה אישית של היררכיה. כדי להפעיל את:

    • הפעל לתוך קטע שורש שרירותי, שכבה על הערך של config_settings_hierarchy_root_fragment בקובץ שכותרתו Settings/res/values/config.xml

    • התאמה אישית של פריטים כגון סדר, קיבוץ, טקסט וסמלים, שכבת-על Settings/res/xml/*.xml

  • הזרקה סטטית. בעת הגדרת פרויקט שכבת-על, יצרני OEM יכולים להוסיף מסכים קנייניים על-ידי הגדרה ולאחר מכן הוספת מחלקות ה-Fragment ו-Controller הנוספות להיררכיה.

  • הזרקה דינמית . אם אפליקציה נפרדת ( apk ) מארחת מסך הגדרות שיש לקשר מאפליקציית ההגדרות הראשית, ניתן להזריק את האפליקציה הנפרדת באופן דינמי. למידע נוסף, ראה העדפות דינמיות .

כְּלֵי תִקְשׁוֹרֶת

Media היא אפליקציית גיבור המספקת חווית משתמש קדמית מטעם אפליקציות מדיה המטשמות את ממשקי ה-API של MediaSession ו- MediaBrowser . אפליקציות מדיה יכולות להיות אפליקציות של צד שלישי (כגון Spotify ופנדורה) וכן מקורות מדיה אחרים, כגון הזרמת Bluetooth (BT) ומדיה מקומית.

מאות אפליקציות מדיה זמינות ב-Android Auto ( הקרנה ), כולן מיישמות את ממשקי ה-API של מדיה כפי שמתואר ב- Providing Audio Playback for Auto . ממשקי API של מדיה מתפתחים עם כל מהדורת אנדרואיד מרכזית ועם מהדורות של ספריית Androidx . כדי להבטיח יכולת פעולה הדדית של API בכל אפליקציות המדיה וגרסאות עתידיות של אנדרואיד, יצרני OEM ממליצים בחום לקחת את הטמעת AOSP ולאחר מכן להתאים אותו.

התאמה אישית

עיצוב נושא סטנדרטי דרך ערכת הנושא DeviceDefault חל גם על מדיה. בנוסף, התאמה אישית נוספת של המראה והתחושה אפשרית עם שכבות-על של משאבים, בתנאי שההתאמה האישית היא בגבולות הנחיות ה-UX.

מדיה ומקורות מדיה מסוג USB

במידת האפשר, מומלץ מאוד לחבר את מקורות המדיה הללו למדיה באמצעות יישום של ממשקי ה-API של MediaSession ו- MediaBrowser (זה נכון לכל אפליקציית מדיה של צד שלישי). עיין באפליקציית LocalMediaPlayer ב-AOSP. אפליקציה זו מציגה קובצי מדיה מקומיים ומוצגת כמקור במדיה.