O kit de ferramentas Car User Interface (UI) fornece uma estrutura de desenvolvimento de UI que você pode usar para garantir que os aplicativos presentes em carros (aplicativos do Google e aplicativos de sistema e de fornecedores) possam atingir:
Autoconsistência UI/UX do Infotainment. Autoconsistência é a capacidade de um usuário prever como interagir com um sistema de infoentretenimento com base em experiências anteriores de interação com o mesmo sistema.
Costumização. Os OEMs podem modificar a aparência do sistema para melhor integrar a funcionalidade com o interior e o hardware do veículo.
Para saber mais sobre a integração da Car UI Library, consulte estas páginas:
- Integre a biblioteca Car UI em aplicativos
- Personalize aplicativos
- Adicione fontes personalizadas
- Personalize as preferências da interface do carro
- CarUiListItem
- Personalizar CarUiRecyclerView
- Solucionar problemas de sobreposições de recursos de tempo de execução
- Notas de lançamento
- Apêndice A, trabalhar com RROs
- Apêndice B, diretrizes de personalização
Sobre a biblioteca Car UI
A biblioteca Car UI é uma biblioteca vinculada estaticamente, que fornece um conjunto de componentes e recursos que você pode usar para implementar:
- Aplicativos de sistema e OEM (Gerrit)
- Aplicativos Android Automotivos (AAOS)
Esta biblioteca serve como:
API de personalização por:
- Definir quais recursos podem ser personalizados, incluindo cores, dimensões e drawables.
- Tratar os recursos como uma API com garantias de compatibilidade retroativa.
- Camada de compatibilidade entre a solução de curto prazo fornecida no Android 9 e Android 10 e a solução de longo prazo atualmente em desenvolvimento.
Sobreposições de recursos
Atualmente, o Android oferece várias maneiras de aplicar personalizações sem a necessidade de trabalho adicional nos subsistemas e aplicativos afetados:
Sobreposições em tempo de construção. Essa personalização é aplicada no momento da criação da imagem do sistema Android. Durante a construção, todos os aplicativos no sistema recebem recursos de sua pasta
res
e de pastasoverlay
definidas nos makefiles de destino.Sobreposições de tempo de execução dinâmicas (RRO dinâmico). Esses APKs especiais contêm apenas recursos e um arquivo de manifesto para indicar qual APK de destino eles afetarão. Os RROs dinâmicos são compilados e implantados independentemente da imagem do sistema e podem ser ativados e desativados. Quando o sistema realiza uma pesquisa de recursos para um aplicativo específico, o sistema também verifica se há algum RRO direcionado a ele e se o RRO contém um recurso com o mesmo nome.
Sobreposições de tempo de execução estáticas (RRO estático). Semelhante aos RROs dinâmicos em estrutura, eles estão sempre ativados , o que significa que não podem ser desinstalados ou atualizados sem realizar uma atualização completa da imagem do sistema. RROs estáticos servem como um intermediário entre sobreposições de tempo de construção e tempo de execução dinâmico.
Além dos componentes de UI, a biblioteca Car UI fornece um mecanismo para sobrepor diretamente recursos (vinculados estaticamente em cada aplicativo) com os recursos OEM, usando um conjunto de RROs estáticos . Os OEMs devem fornecer uma pasta contendo suas sobreposições de recursos e uma lista de aplicativos direcionados. Durante uma construção, a infraestrutura da biblioteca Car UI usaria essas informações para gerar um RRO estático para cada aplicativo de destino.
![Componentes da biblioteca Car UI](https://source.android.com/static/docs/automotive/images/car_ui_library_01.png?authuser=5&hl=pt)
Figura 1 . Componentes da biblioteca Car UI
Na imagem acima:
Verde . Personalização fornecida pelo OEM, uma combinação de recursos de sobreposição de tempo de construção e tempo de execução.
Amarelo. Suporte fornecido pela biblioteca Car UI, incluindo recursos sobrepostos , componentes (código Java) e suporte de construção para gerar os RROs necessários.
Azul. Destinos personalizáveis , incluindo estrutura, aplicativos de sistema, aplicativos de fornecedores e aplicativos GAS que usam a biblioteca Car UI para personalizar elementos de UI.