Tổng quan về HMI

Android Automotive là giải pháp nền tảng thông tin giải trí trong ô tô được cung cấp cùng với hệ điều hành Android Dự án nguồn mở (AOSP). Các bài viết trong chủ đề này giới thiệu các khái niệm và thành phần chính được cung cấp bằng giao diện người dùng Android Automotive System và các ứng dụng cốt lõi cần thiết để tạo nên một giao diện Người dùng hiệu quả Hệ thống giao diện máy (HMI) dành cho OEM, nhà phát triển bên thứ ba và người dùng cuối.

  • Hướng dẫn tích hợp máy chủ AOSP. Ứng dụng App Host cho phép các ứng dụng trên ô tô của bên thứ ba kết xuất thành phần giao diện người dùng (UI) theo kiểu OEM trên ứng dụng thay mặt cho bạn.
  • Cấu trúc cài đặt trên ô tô. Phần Cài đặt trên ô tô cung cấp giao diện người dùng trực quan tập trung vào ô tô, giúp người lái xe dễ dàng phân tâm tối ưu hoá và các điểm tuỳ chỉnh khác dành cho OEM.
  • Hướng dẫn tích hợp Thư viện giao diện người dùng ô tô. Thư viện giao diện người dùng trên ô tô cung cấp một khung phát triển giao diện người dùng để hỗ trợ tất cả ứng dụng có trong ô tô để đạt được tính nhất quán và khả năng tuỳ chỉnh.
  • Tuỳ chỉnh biểu tượng hệ thống trên Thanh trạng thái. Thanh trạng thái là một thành phần của giao diện người dùng hệ thống Android dùng để hiển thị liên tục thông tin quan trọng đối với người dùng. Tìm hiểu cách tuỳ chỉnh các biểu tượng hệ thống trên Thanh trạng thái.
  • Thông báo quan trọng. Tìm hiểu cách tuỳ chỉnh Thông báo quan trọng.
  • Trình quay số. Sử dụng ứng dụng hệ thống Android này để triển khai trải nghiệm được tối ưu hoá để chống phân tâm (DO) cho Bluetooth gọi điện, duyệt danh bạ và quản lý cuộc gọi.
  • Nội dung đa phương tiện. Chỉ với một vài chế độ cài đặt và một dịch vụ, nhà phát triển có thể mở rộng các ứng dụng đa phương tiện hiện có. Mặc dù ứng dụng phải tuân thủ Mẫu Automotive Media, nhà phát triển có thể tuỳ chỉnh màu mẫu, phông chữ, biểu tượng và nhiều nội dung khác để tạo nên trải nghiệm có thương hiệu.
  • Thông báo. Tìm hiểu cách thay đổi giao diện và cấu hình của thông báo.

Thuật ngữ

Các thuật ngữ này được sử dụng trong HMI và các bài viết liên quan:

Thuật ngữ Định nghĩa
Ứng dụng cốt lõi Tập hợp chính của các ứng dụng quan trọng đối với chức năng của hệ thống, bao gồm Cài đặt, Đài HVAC, Nội dung nghe nhìn, Trình quay số và Bàn phím.
Tài liệu định nghĩa về khả năng tương thích (CDD) Liệt kê các yêu cầu phải đáp ứng để thiết bị tương thích với phiên bản mới nhất phiên bản Android khác.
Bộ kiểm tra tính tương thích (CTS) Bộ thử nghiệm thương mại miễn phí, có thể tải xuống tại Tải xuống Bộ kiểm tra tính tương thích.
Tuỳ chỉnh Sửa đổi phương thức triển khai AOSP (Dự án nguồn mở Android) để đáp ứng các yêu cầu của OEM. Thông thường, quy trình này bao gồm việc sử dụng lớp phủ tài nguyên để áp dụng các thay đổi về mặt thẩm mỹ trong khi vẫn đảm bảo việc tuân thủ CDD, CTS và tất cả các nguyên tắc có liên quan về Trải nghiệm người dùng.
Ứng dụng chủ chốt Một tập hợp các ứng dụng chính thiết yếu đối với mọi khía cạnh của Android, bao gồm cả chức năng, khả năng nâng cấp, hệ sinh thái nhà phát triển bên thứ ba và người dùng cuối. Ứng dụng chủ chốt bao gồm Thông báo, Cài đặt, Nội dung nghe nhìn và Trung tâm liên lạc/Trình quay số. AOSP tương ứng việc triển khai phải đảm bảo chất lượng sản xuất.
Lớp phủ tài nguyên Để tác động đến việc hiển thị giao diện người dùng, hãy sử dụng cơ chế này để thay thế màu, thay đổi kích thước, bật bản vẽ và áp dụng tài nguyên bố cục tại thời gian biên dịch (phổ biến nhất) hoặc trong thời gian chạy (Lớp phủ tài nguyên thời gian chạy (RRO)).
Giao diện người dùng hệ thống Giao diện người dùng bên ngoài một ứng dụng thuộc hệ thống, chẳng hạn như thanh điều hướng, thanh trạng thái, màn hình khoá và hộp thoại âm lượng.
Giao diện Tập hợp màu sắc và kiểu dáng dùng để xác định giao diện của thành phần và các ứng dụng kế thừa giao diện.
Trải nghiệm người dùng (UX) Lĩnh vực thiết kế giao diện người dùng (UI) và khả năng sử dụng.

Tuỳ chỉnh

Việc triển khai AOSP của Giao diện người dùng hệ thống và các ứng dụng hệ thống cốt lõi khác đóng vai trò là một công cụ mạnh mẽ để bắt đầu quá trình phát triển HMI. Phương pháp sửa đổi AOSP (Dự án nguồn mở Android) triển khai (chủ yếu thông qua việc sử dụng lớp phủ tài nguyên) để đáp ứng thương hiệu, công việc kinh doanh của OEM, còn các yêu cầu pháp lý được gọi là tuỳ chỉnh.

Mặc dù hệ thống tổng thể được thiết kế và xây dựng linh hoạt, nhưng vẫn có nhiều thành phần có thể tuỳ chỉnh theo độ khác nhau:

  • Giao diện người dùng hệ thống. OEM có thể tuỳ chỉnh hoặc thay thế cách triển khai AOSP trong các giới hạn mà CDD và CTS cũng như mọi nguyên tắc hiện hành khác về trải nghiệm người dùng đặt ra.

  • Ứng dụng hệ thống không phải là ứng dụng chính (còn được gọi là tệp đối chiếu). OEM có thể tuỳ chỉnh hoặc thay thế phương thức triển khai AOSP (Dự án nguồn mở Android).

  • Ứng dụng chủ chốt. Mỗi ứng dụng đều có một bộ nguyên tắc tuỳ chỉnh chi tiết. Nhà sản xuất thiết bị gốc nên sử dụng phương thức triển khai AOSP (Dự án nguồn mở Android) rồi tuỳ chỉnh trong giới hạn mà các nguyên tắc đó đặt ra.

Cấu hình mật độ

Để đảm bảo rằng các phần tử trên giao diện người dùng hiển thị chính xác với cấu hình hiển thị thực, mật độ phải được đặt thành nhóm (Chỉ số hiển thị) phù hợp nhất với mật độ vật lý, chẳng hạn như mục nhập sau trong tệp bản dựng:

PRODUCT_PROPERTY_OVERRIDES := \
        ro.sf.lcd_density=160

Công cụ hạn chế trải nghiệm người dùng

CarUxRestrictManager cung cấp một nội dung hấp dẫn để ứng dụng theo dõi các thay đổi liên quan đến trạng thái lái xe để sửa đổi trải nghiệm người dùng một cách phù hợp. OEM có thể phủ tệp cấu hình tại packages/services/Car/service/res/xml/car_ux_restrictions_map.xml để tác động đến hoạt động của hệ thống.

Giao diện hệ thống

Giao diện quy định tập hợp mục mặc định trên toàn hệ thống, chẳng hạn như màu và kiểu văn bản là DeviceDefault. Nhà sản xuất thiết bị gốc nên bắt đầu quá trình tuỳ chỉnh tổng thể bằng cách sửa đổi giao diện DeviceDefault. Theo mặc định, giao diện người dùng hệ thống và tất cả ứng dụng hệ thống trong AOSP sẽ kế thừa từ chủ đề này. Các ứng dụng hệ thống do OEM phát triển cũng nên kế thừa DeviceDefault. Bên thứ ba các ứng dụng đã phát triển không được kế thừa DeviceDefault mà sẽ sử dụng Theme.Car được cung cấp trong thư viện androidx.car. Các tệp có vị trí như sau:

  • Chính. /frameworks/base/core/res/res/values/themes_device_defaults.xml
  • Màu sắc. /frameworks/base/core/res/res/values/colors_car.xml
  • Kiểu. /frameworks/base/core/res/res/values/styles_car.xml
  • Lớp phủ trên ô tô.
    /packages/services/Car/car_product/overlay/.../values/themes_device_defaults.xml

OEM dự kiến sẽ có cấu trúc lớp phủ song song với thư mục car_product trong thư mục nhà cung cấp để mở rộng thêm lớp phủ car_product.

Ứng dụng Theme Playground

Ứng dụng này đơn giản hoá quy trình tuỳ chỉnh giao diện DeviceDefault bằng cách trực quan hoá mọi thuộc tính giao diện ở cùng một nơi. Ngoài ra, bằng cách so sánh cách hiển thị một số kiểu nhất định trong ứng dụng của bạn so với các ứng dụng hệ thống khác, nhà phát triển có thể nhanh chóng gỡ lỗi các vấn đề về giao diện. Ứng dụng này có sẵn tại:

  /packages/services/Car/tests/ThemePlayground

Giao diện người dùng hệ thống

Giao diện người dùng hệ thống bao gồm mọi giao diện người dùng trong /frameworks/base, chủ yếu bằng /frameworks/base/packages/CarSystemUI Bao gồm Thanh điều hướng, Thanh trạng thái màn hình khoá, hộp thoại âm lượng, thông báo ngắn, bộ chọn người dùng và hộp thoại quyền. OEM có thể tuỳ chỉnh các thành phần giao diện người dùng hệ thống thông qua lớp phủ tài nguyên và giao diện, miễn là mỗi thành phần đều nằm trong các yêu cầu của CDD, CTS và các nguyên tắc hiện hành khác về trải nghiệm người dùng.

Ứng dụng hệ thống

Android Automotive bao gồm một tập hợp các ứng dụng hệ thống cốt lõi, thiết yếu đối với hệ thống tổng thể của Google. Trong số này, Trung tâm truyền thông, Nội dung nghe nhìn, Thông báo và Cài đặt là được coi là ứng dụng chính.

  • Trung tâm thông tin
  • HVAC (Hệ thống sưởi, thông gió và điều hoà)
  • IME (bàn phím)
  • Trình chạy (màn hình chính)
  • Trình phát nội dung đa phương tiện cục bộ
  • Nội dung nghe nhìn
  • Messenger
  • Thông báo
  • Đài
  • Cài đặt

Màn hình chính

Màn hình chính (còn gọi là Trình chạy ô tô) là trang đích dành cho trải nghiệm HMI. Việc triển khai AOSP chỉ đóng vai trò tham chiếu và OEM dự kiến sẽ thay thế của riêng họ, thường kết hợp điều hướng, phát nội dung đa phương tiện, giao tiếp và các trạng thái hệ thống khác, nếu cần. Thông thường, ứng dụng Trình chạy trên ô tô hiển thị những ứng dụng có sẵn trên hệ thống. Để tìm hiểu cách xử lý các sự kiện như sự kiện gần đây, sự thay đổi về gói và sự kiện không có giao diện người dùng (không có hoạt động trình chạy), xem cách triển khai tham chiếu.

Thông báo

Thông báo là một thành phần không thể thiếu của hệ điều hành Android cũng như các cấu trúc tương tự (bao gồm thông báo quan trọng, trung tâm/danh sách thông báo, API thông báo, thứ hạng và hành động cùng dòng) đã được đưa vào Android Automotive. Để biết chi tiết, hãy xem báo cáo cầm tay Thông báo Tổng quan. Để tối ưu hoá các trường hợp sử dụng ô tô, những nội dung sửa đổi sau đây đã được thực hiện (so với ngăn xếp thông báo cầm tay):

  • Giảm tổng nội dung thông báo mà người dùng nhìn thấy. Gỡ bỏ phát nội dung nghe nhìn đang diễn ra, điều hướng liên tục và "không quan trọng" (mức độ quan trọng THẤP trở xuống) thông báo dịch vụ trên nền trước của các ứng dụng hệ thống từ trung tâm/danh sách thông báo, kèm theo hiểu rằng những thông báo này hoặc là bị thừa (ví dụ: cụm hiển thị trạng thái nội dung đa phương tiện) hoặc không hữu ích.

  • Xoá các chế độ điều khiển phức tạp theo bối cảnh (chẳng hạn như nhấn và giữ và dựa trên độ dài vuốt ).

  • Tuân thủ cấu hình công cụ Hạn chế trải nghiệm người dùng.

    • Bản xem trước nội dung thông báo nhắn tin có thể bị ẩn dựa trên trạng thái ổ đĩa.
    • Tất cả các chuỗi được giới hạn ở độ dài tối đa.
  • Bổ sung các danh mục thông báo mới dành riêng cho ô tô ở Android 9, chỉ có sẵn cho các ứng dụng hệ thống đi kèm chạy dưới dạng android.uid.system.

  • CATEGORY_CAR_EMERGENCY. Được xếp ở đầu danh sách thông báo. Bỏ qua Chế độ cài đặt Không làm phiền (DND).

  • CATEGORY_CAR_WARNING. Được xếp hạng dưới trường hợp khẩn cấp và trên các địa điểm khác (bỏ qua DND).
  • CATEGORY_CAR_INFORMATION. Xếp hạng cùng với các thông báo còn lại dựa vào "mức độ quan trọng" và thời gian gần đây.

Việc triển khai toàn diện ngăn xếp thông báo, từ API thông báo đến giao diện người dùng, đã coi đây là ứng dụng chính. Để đảm bảo khả năng tương tác API nhất quán trên tất cả các HU và tối đa hoá khả năng nâng cấp, nhà sản xuất thiết bị gốc (OEM) nên thực hiện triển khai AOSP (Dự án nguồn mở Android) rồi tuỳ chỉnh nó một cách nhẹ nhàng.

Tuỳ chỉnh

Lớp phủ tài nguyên và giao diện DeviceDefault chuẩn sẽ được áp dụng. Rất ít các nút tuỳ chỉnh hành vi có sẵn tại:

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

Cài đặt

Ứng dụng Cài đặt (Cài đặt ô tô) là một trong những ứng dụng chính để lộ núm vặn, mà người dùng có thể sử dụng để định cấu hình các khía cạnh của hệ điều hành Android và phần còn lại của chiếc xe. Phần Cài đặt ứng dụng này hiển thị hơn 200 tính năng trong hệ điều hành, được kết hợp chặt chẽ với từng tính năng Bản phát hành Android. Để cho phép nâng cấp và tránh tình trạng phân mảnh, bạn nên sử dụng nhà sản xuất thiết bị gốc (OEM) để triển khai AOSP rồi tuỳ chỉnh nó (thay vì phát triển nhánh triển khai).

Tuỳ chỉnh

Ứng dụng Cài đặt xem xét đến việc tuỳ chỉnh và đưa ra một số cách để phần tuỳ chỉnh.

  • Sắp xếp theo chủ đề. Cho phép tuỳ chỉnh hình ảnh theo cách của từng loại đối tượng Lựa chọn ưu tiên sẽ được hiển thị, bao gồm:

    • Preference.DeviceDefault.CheckBoxPreference

    • Preference.DeviceDefault.DialogPreference.EditTextPreference

  • Tuỳ chỉnh hệ phân cấp. Cách bật:

    • Khởi chạy vào một mảnh gốc tuỳ ý, phủ giá trị của config_settings_hierarchy_root_fragment trong tệp có tiêu đề Settings/res/values/config.xml

    • Tuỳ chỉnh các mục như thứ tự, nhóm, văn bản và biểu tượng, lớp phủ Settings/res/xml/*.xml

  • Chèn tĩnh. Trong khi thiết lập dự án lớp phủ, OEM có thể thêm màn hình độc quyền bằng cách xác định rồi thêm các lớp Mảnh và Bộ điều khiển bổ sung lên hệ phân cấp.

  • Chèn động. Nếu một ứng dụng riêng biệt (apk) lưu trữ một Màn hình Cài đặt phải được liên kết từ ứng dụng Cài đặt chính, ứng dụng riêng biệt có thể được chèn động. Để biết thêm thông tin, hãy xem Lựa chọn ưu tiên linh động.

Nội dung nghe nhìn

Media là ứng dụng chính cung cấp trải nghiệm người dùng trên giao diện người dùng thay mặt cho nội dung đa phương tiện ứng dụng triển khai MediaSessionMediaBrowser API. Ứng dụng đa phương tiện có thể là ứng dụng của bên thứ ba (chẳng hạn như Spotify và Pandora) cũng như các ứng dụng khác nguồn nội dung nghe nhìn, chẳng hạn như truyền trực tuyến qua Bluetooth (BT) và nội dung nghe nhìn trên thiết bị.

Hàng trăm ứng dụng đa phương tiện có sẵn trong Android Auto (Projection), tất cả đều triển khai các API đa phương tiện này như được mô tả trong Cung cấp tính năng phát âm thanh tự động. API đa phương tiện phát triển theo từng bản phát hành Android chính và với các bản phát hành của Androidx. Để đảm bảo khả năng tương thích API trên tất cả ứng dụng đa phương tiện và các phiên bản Android trong tương lai, OEM đang bạn nên triển khai AOSP rồi tuỳ chỉnh nó.

Tuỳ chỉnh

Việc tuỳ chỉnh giao diện chuẩn thông qua giao diện DeviceDefault cũng áp dụng cho Nội dung nghe nhìn. Ngoài ra, có thể tuỳ chỉnh giao diện với lớp phủ tài nguyên, miễn là khả năng tuỳ chỉnh trong phạm vi các nguyên tắc về trải nghiệm người dùng.

Phương tiện truyền thông và nguồn phương tiện USB

Trong phạm vi có thể, bạn nên cắm các nguồn phương tiện này vào Nội dung nghe nhìn thông qua việc triển khai MediaSessionMediaBrowser API (điều này đúng với bất kỳ ứng dụng đa phương tiện nào bên thứ ba). Xem ứng dụng LocalMediaPlayer trong AOSP. Ứng dụng này hiển thị các tệp nội dung nghe nhìn trên máy và hiển thị dưới dạng nguồn trong Nội dung nghe nhìn.