Questa terminologia e questi concetti vengono utilizzati in tutta questa sezione.
CarAppServiceCarAppServiceè una classe astrattaServiceche la tua app deve implementare ed esportare per essere rilevata e gestita dall'host.CarAppServicedella tua app utilizzacreateHostValidatorper convalidare che una connessione host sia attendibile e, successivamente, utilizzaonCreateSessionper fornire istanzeSessionper ogni connessione.- Host
L'host è il componente di backend che implementa la funzionalità offerta dalle API della libreria in modo che la tua app possa essere eseguita in auto. L'host fornisce una gamma di servizi, dalla scoperta dell'app e dalla gestione del suo ciclo di vita alla conversione dei modelli in visualizzazioni e alla notifica all'app delle interazioni degli utenti.
Sui dispositivi mobili, questo host viene implementato da Android Auto. Su Android Automotive OS, questo host viene installato come app di sistema.
- Modelli e template
L'interfaccia utente è rappresentata da un grafico di oggetti modello che puoi disporre insieme in modi diversi, in base al modello a cui appartengono. I modelli sono un sottoinsieme dei modelli che fungono da radice nei grafici.
I modelli includono le informazioni da mostrare all'utente sotto forma di testo e immagini, nonché gli attributi per configurare gli aspetti dell'aspetto visivo di queste informazioni. Ad esempio, i colori del testo o le dimensioni delle immagini.
L'host converte i modelli in visualizzazioni che soddisfano gli standard di distrazione del conducente e i dettagli dell'indirizzo, come la varietà di fattori dello schermo dell'auto e le modalità di input.
ScreenScreenè una classe fornita dalla libreria che le app implementano per gestire l'interfaccia utente visibile all'utente.Un
Screenha un ciclo di vita e viene utilizzato dall'app per inviare il modello da visualizzare quando lo schermo è visibile. Le istanzeScreenpossono anche essere inserite e rimosse da uno stackScreenper verificare che rispettino le limitazioni del flusso del modello.SessionSessionè una classe astratta che la tua app deve implementare e restituire utilizzandoCarAppService.onCreateSession. UnSessionfunge da punto di accesso per visualizzare le informazioni sullo schermo dell'auto.Sessionha un ciclo di vita che indica lo stato attuale dell'app sullo schermo dell'auto, ad esempio quando l'app è visibile o nascosta.Quando viene avviato un
Session, ad esempio al primo avvio dell'app, l'host utilizza il metodoonCreateScreenper chiedere qualeScreeniniziale visualizzare.- Limitazioni dei modelli
Modelli diversi impongono limitazioni nel contenuto dei modelli. Ad esempio, i modelli di elenco impongono limiti al numero di elementi che possono essere presentati all'utente.
I modelli hanno anche limitazioni nel modo in cui possono essere collegati per formare il flusso di un'attività. Ad esempio, un'app può inviare fino a cinque modelli alla pila di schermate. Per saperne di più, consulta Limitazioni dei modelli.