Il toolkit per l'interfaccia utente (UI) dell'auto fornisce un framework di sviluppo UI che puoi utilizzare per assicurarti che le app presenti nelle auto (app Google e di sistema e del fornitore) possano raggiungere:
-
Coerenza dell'UI/UX del sistema di infotainment. L'autoconsistenza è la capacità di un utente di prevedere come interagire con un sistema di infotainment in base alle esperienze precedenti di interazione con lo stesso sistema.
-
Personalizzazione. Gli OEM possono modificare l'aspetto del sistema per integrare al meglio la funzionalità con l'interno e l'hardware del veicolo.
Per scoprire di più sull'integrazione della libreria UI per auto, consulta queste pagine:
- Integrare la libreria dell'interfaccia utente dell'auto nelle app
- Personalizzare le app
- Aggiungere caratteri personalizzati
- Personalizzare le preferenze dell'interfaccia utente dell'auto
- CarUiListItem
- Personalizzare CarUiRecyclerView
- Risolvere i problemi relativi agli overlay delle risorse di runtime
- Note di rilascio
- Appendice A, lavoro con gli RRO
- Appendice B, linee guida per la personalizzazione
Informazioni sulla libreria dell'interfaccia utente dell'auto
La libreria dell'interfaccia utente dell'auto è una libreria collegata in modo statico che fornisce un insieme di componenti e risorse che puoi utilizzare per implementare:
- App di sistema e OEM (Gerrit)
- App per Android Automotive (AAOS)
Questa libreria funge da:
-
API di personalizzazione di:
- Definire quali risorse possono essere personalizzate, inclusi colori, dimensioni e elementi grafici.
- Trattare le risorse come un'API con garanzie di compatibilità con le versioni precedenti.
- Livello di compatibilità tra la soluzione a breve termine fornita in Android 9 e Android 10 e la soluzione a lungo termine attualmente in fase di sviluppo.
Overlay delle risorse
Al momento Android offre diversi modi per applicare le personalizzazioni senza dover apportare modifiche ai sottosistemi e alle app interessati:
-
Overlay in fase di compilazione. Questa personalizzazione viene applicata al momento della compilazione dell'immagine di sistema Android. Durante la compilazione, tutte le app del sistema ricevono le risorse dalla rispettiva cartella
res
e dalle cartelleoverlay
definite nei file make del target. -
Overlay di runtime dinamici (RRO dinamici). Questi APK speciali contengono solo risorse e un file manifest per indicare quale APK target interesseranno. Gli RRO dinamici vengono compilati e di cui viene eseguito il deployment indipendentemente dall'immagine di sistema e possono essere attivati e disattivati. Quando il sistema esegue una ricerca di risorse per un'app specifica, controlla anche se è presente qualsiasi RRO che ha come target l'app e se l'RRO contiene una risorsa con lo stesso nome.
-
Overlay del runtime statici (RRO statici). Simili per struttura alle RRO dinamiche, sono sempre attive, il che significa che non possono essere disinstallate o aggiornate senza eseguire un upgrade completo dell'immagine di sistema. Gli RRO statici fungono da intermedi tra gli overlay di compilazione e di runtime dinamici.
Oltre ai componenti dell'interfaccia utente, la libreria UI Car fornisce un meccanismo per sovrapporre direttamente le risorse (collegate in modo statico a ogni app) con le risorse OEM, utilizzando un insieme di RRO statici. Gli OEM devono fornire una cartella contenente gli overlay delle risorse e un elenco di app di destinazione. Durante una compilazione, l'infrastruttura della libreria UI dell'auto utilizza queste informazioni per generare un RRO statico per ogni app scelta come target.

Figura 1. Componenti della libreria dell'interfaccia utente dell'auto
Nell'immagine sopra:
-
Verde. Personalizzazione fornita dall'OEM, una combinazione di risorse overlay di compilazione e di runtime.
-
Giallo. Supporto fornito dalla libreria UI dell'auto, tra cui risorse sovrapponibili , componenti (codice Java) e supporto per la compilazione per generare gli RRO necessari.
-
Blu. Target personalizzabili, tra cui il framework, le app di sistema, le app del fornitore e le app GAS che utilizzano la libreria dell'interfaccia utente dell'auto per personalizzare gli elementi dell'interfaccia utente.