O kit de ferramentas Car User Interface (UI) fornece uma estrutura de desenvolvimento de interface do usuário que você pode usar para garantir que os aplicativos presentes nos carros (aplicativos do Google e aplicativos de sistema e fornecedores) possam atingir:
Autoconsistência de UI/UX de infoentretenimento. A autoconsistência é a capacidade de um usuário prever como interagir com um sistema de infoentretenimento com base em experiências anteriores interagindo 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 estes artigos:
- Integrando a biblioteca Car UI em aplicativos
- Personalizando aplicativos
- Adicionando fontes personalizadas
- Personalizando as preferências da interface do usuário do carro
- CarUiListItem
- Personalizando CarUiRecyclerView
- Solução de problemas de sobreposições de recursos de tempo de execução
- Notas de versão
- Apêndice A, Trabalhando 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 Automotive (AAOS)
Esta biblioteca serve como:
API de personalização por:
- Definir quais recursos podem ser personalizados, incluindo cores, dimensões e desenháveis.
- Tratar os recursos como uma API com garantias compatíveis com versões anteriores.
- Camada de compatibilidade entre o curto prazo fornecido 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 trabalho adicional necessário para os subsistemas e aplicativos afetados:
Sobreposições de tempo de construção. Essa personalização é aplicada no momento da criação da imagem do sistema Android. Durante a compilação, todos os aplicativos do sistema recebem recursos de sua pasta
res
e de pastasoverlay
definidas nos makefiles de destino.Sobreposições dinâmicas de tempo de execução (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 executa uma pesquisa de recurso 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ático (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 a execução de uma atualização completa da imagem do sistema. Os RROs estáticos servem como um intermediário de tempo de construção e sobreposições dinâmicas de tempo de execução.
Além dos componentes da interface do usuário, a biblioteca de interface do usuário do carro fornece um mecanismo para sobrepor recursos diretamente (vinculados estaticamente a 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 de destino. Durante uma compilação, a infraestrutura da biblioteca Car UI usaria essas informações para gerar um RRO estático para cada aplicativo de destino.
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 compilação para gerar os RROs necessários.
Azul. Alvos personalizáveis , incluindo a estrutura, aplicativos do sistema, aplicativos de fornecedores e aplicativos GAS que usam a biblioteca Car UI para personalizar os elementos da interface do usuário.