Набор инструментов автомобильного пользовательского интерфейса (UI) предоставляет платформу разработки пользовательского интерфейса, которую вы можете использовать, чтобы убедиться, что приложения, присутствующие в автомобилях (приложения Google, системные приложения и приложения поставщиков), могут достичь:
Самосогласованность информационно-развлекательного интерфейса/UX. Самосогласованность — это способность пользователя прогнозировать, как взаимодействовать с информационно-развлекательной системой, на основе предыдущего опыта взаимодействия с той же системой.
Настройка. OEM-производители могут изменить внешний вид системы, чтобы лучше всего интегрировать функциональность с салоном и оборудованием автомобиля.
Дополнительные сведения об интеграции Car UI Library см. в следующих статьях:
- Интеграция библиотеки пользовательского интерфейса автомобиля в приложения
- Настройка приложений
- Добавление пользовательских шрифтов
- Настройка параметров пользовательского интерфейса автомобиля
- CarUIListItem
- Настройка CarUiRecyclerView
- Устранение неполадок с наложениями ресурсов среды выполнения
- Примечания к выпуску
- Приложение A, Работа с RRO
- Приложение B, Рекомендации по настройке
О библиотеке пользовательского интерфейса автомобиля
Библиотека пользовательского интерфейса автомобиля — это статически связанная библиотека, которая предоставляет набор компонентов и ресурсов, которые можно использовать для реализации:
- Системные и OEM-приложения (Gerrit)
- Приложения Android Automotive (AAOS)
Эта библиотека служит:
API настройки:
- Определение ресурсов, которые можно настроить, включая цвета, размеры и рисунки.
- Обработка ресурсов как API с гарантиями обратной совместимости.
- Уровень совместимости между краткосрочным решением, представленным в Android 9 и Android 10, и долгосрочным решением, разрабатываемым в настоящее время.
Наложения ресурсов
В настоящее время Android предоставляет несколько способов применения настроек без дополнительной работы с затронутыми подсистемами и приложениями:
Наложения времени сборки. Эта настройка применяется во время сборки образа системы Android. Во время сборки все приложения в системе получают ресурсы из своей папки
res
и из папокoverlay
, определенных в целевых make-файлах.Динамические наложения во время выполнения (динамический RRO). Эти специальные APK содержат только ресурсы и файл манифеста, чтобы указать, на какой целевой APK они будут влиять. Динамические RRO компилируются и развертываются независимо от образа системы, и их можно включать и выключать. Когда система выполняет поиск ресурсов для определенного приложения, она также проверяет, есть ли какие- либо RRO, предназначенные для него, и содержит ли RRO ресурс с таким же именем.
Статические наложения во время выполнения (статический RRO). Подобно динамическим RRO по структуре, они всегда включены , что означает, что их нельзя удалить или обновить без выполнения полного обновления образа системы. Статические RRO служат промежуточным звеном между динамическими наложениями во время сборки и во время выполнения.
В дополнение к компонентам пользовательского интерфейса библиотека автомобильного пользовательского интерфейса предоставляет механизм для прямого наложения ресурсов (статически связанных с каждым приложением) на ресурсы OEM с использованием набора статических RRO . OEM-производители должны предоставить папку, содержащую их наложения ресурсов и список целевых приложений. Во время сборки инфраструктура библиотеки пользовательского интерфейса автомобиля будет использовать эту информацию для создания одного статического RRO для каждого целевого приложения.
На изображении выше:
Зеленый . Настройка, предоставляемая OEM, сочетание ресурсов наложения времени сборки и времени выполнения.
Желтый. Поддержка, предоставляемая библиотекой пользовательского интерфейса автомобиля, включая накладываемые ресурсы, компоненты (код Java) и поддержку сборки для создания необходимых RRO.
Синий. Настраиваемые цели, включая платформу, системные приложения, приложения поставщиков и приложения GAS, которые используют библиотеку пользовательского интерфейса автомобиля для настройки элементов пользовательского интерфейса.