Essa terminologia e esses conceitos são usados em toda esta seção.
CarAppServiceCarAppServiceé uma classeServiceabstrata que o app precisa implementar e exportar para ser descoberto e gerenciado pelo host. ACarAppServicedo app usacreateHostValidatorpara validar que uma conexão de host pode ser confiável e, em seguida, usaonCreateSessionpara fornecer instânciasSessionpara cada conexão.- Host
O host é o componente de back-end que implementa a funcionalidade oferecida pelas APIs da biblioteca para que o app possa ser executado no carro. O host oferece uma variedade de serviços, desde descobrir o app e gerenciar o ciclo de vida dele até converter os modelos em visualizações e notificar o app sobre interações do usuário.
Em dispositivos móveis, esse host é implementado pelo Android Auto. No Android Automotive OS, esse host é instalado como um app do sistema.
- Modelos e modelos
A interface do usuário é representada por um gráfico de objetos de modelo que podem ser organizados de maneiras diferentes, conforme o modelo a que pertencem. Os modelos são um subconjunto dos estilos principais que podem funcionar como uma raiz nos gráficos.
Os modelos incluem as informações a serem exibidas ao usuário na forma de texto e imagens, bem como atributos para configurar aspectos da aparência visual dessas informações. Por exemplo, cores de texto ou tamanhos de imagem.
O host converte os modelos em visualizações que atendem aos padrões de distração do motorista e abordam detalhes como a variedade de fatores da tela do carro e modalidades de entrada.
ScreenScreené uma classe fornecida pela biblioteca que os apps implementam para gerenciar a interface do usuário visível para o usuário.Um
Screentem um ciclo de vida e é usado pelo app para enviar o modelo a ser exibido quando a tela estiver visível. As instâncias deScreentambém podem ser enviadas e abertas em uma pilha deScreene retiradas dela para confirmar se atendem às restrições de fluxos de modelo.SessionSessioné uma classe abstrata que seu app precisa implementar e retornar usandoCarAppService.onCreateSession. UmSessionserve como ponto de entrada para exibir informações na tela do carro. OSessiontem um ciclo de vida que informa o estado atual do app na tela do carro, por exemplo, quando ele está visível ou oculto.Quando uma
Sessioné iniciada, como quando o app é aberto pela primeira vez, o host usa o métodoonCreateScreenpara perguntar qualScreeninicial exibir.- Restrições de modelos
Diferentes modelos impõem restrições ao conteúdo dos estilos principais. Por exemplo, os modelos de lista têm limites quanto ao número de itens que podem ser apresentados ao usuário.
Os modelos também têm restrições quanto à maneira como podem ser conectados para formar o fluxo de uma tarefa. Por exemplo, um app pode enviar até cinco modelos para a pilha de telas. Para saber mais, consulte Restrições de modelo.