Esta terminología y estos conceptos se utilizan en toda esta sección.
CarAppServiceCarAppServicees una clase abstracta deServiceque tu app debe implementar y exportar para que el host la descubra y la administre. ElCarAppServicede tu app usacreateHostValidatorpara validar que se pueda confiar en una conexión de host y, luego, usaonCreateSessionpara proporcionar instancias deSessionpara cada conexión.- Host
El host es el componente del backend que implementa la funcionalidad que ofrecen las APIs de la biblioteca para que tu app se ejecute en el vehículo. El host proporciona una variedad de servicios, desde descubrir tu app y administrar su ciclo de vida hasta convertir tus modelos en vistas y notificar a tu app de las interacciones del usuario.
En dispositivos móviles, Android Auto implementa este host. En el SO Android Automotive, este host se instala como una app del sistema.
- Modelos y plantillas
La interfaz de usuario se representa con un gráfico de objetos modelo que puedes organizar de diferentes maneras, según la plantilla a la que pertenecen. Las plantillas son un subconjunto de los modelos que actúan como una raíz en los gráficos.
Los modelos incluyen la información que se le mostrará al usuario, en forma de imágenes y texto, así como atributos para configurar aspectos de la apariencia visual de esa información. Por ejemplo, los colores del texto o los tamaños de las imágenes.
El host convierte los modelos en vistas que cumplen con los estándares de distracción del conductor y abordan detalles como la variedad de factores de pantalla del automóvil y las modalidades de entrada.
ScreenScreenes una clase proporcionada por la biblioteca que las apps implementan para administrar la interfaz de usuario visible para el usuario.Un
Screentiene un ciclo de vida y la app lo usa para enviar la plantilla que se mostrará cuando la pantalla sea visible. Las instancias deScreentambién se pueden insertar en una pila deScreeny quitarse de ella para confirmar que cumplen con las restricciones del flujo de plantillas.SessionSessiones una clase abstracta que tu app debe implementar y mostrar usandoCarAppService.onCreateSession. UnSessionfunciona como punto de entrada para mostrar información en la pantalla del automóvil.Sessiontiene un ciclo de vida que informa el estado actual de tu app en la pantalla del vehículo, por ejemplo, si la app está visible u oculta.Cuando se inicia un
Session, por ejemplo, cuando se inicia la app por primera vez, el host usa el métodoonCreateScreenpara preguntar quéScreeninicial se debe mostrar.- Restricciones de plantillas
Varias plantillas aplican restricciones en el contenido de sus modelos. Por ejemplo, las plantillas de listas imponen límites en la cantidad de elementos que se pueden presentar al usuario.
Las plantillas también tienen restricciones en relación con la forma en que se pueden conectar para formar el flujo de una tarea. Por ejemplo, una app puede enviar hasta cinco plantillas a la pila de pantallas. Para obtener más información, consulta Restricciones de las plantillas.