App per auto
Aggiornamento più recente | Release stabile | Candidato per l'uscita | Versione beta | Release alpha |
---|---|---|---|---|
26 giugno 2024 | 1.4.0 | - | 1.7.0-beta01 | - |
Dichiarazione delle dipendenze
Per aggiungere una dipendenza alla libreria di app per auto, devi aggiungere il repository Google Maven al tuo progetto. Per ulteriori informazioni, consulta il Repository Maven di Google.
Aggiungi le dipendenze per gli artefatti necessari nel file build.gradle
per
l'app o il modulo:
Alla moda
dependencies { implementation "androidx.car.app:app:1.4.0" // For Android Auto specific functionality implementation "androidx.car.app:app-projected:1.4.0" // For Android Automotive specific functionality implementation "androidx.car.app:app-automotive:1.4.0" // For testing testImplementation "androidx.car.app:app-testing:1.4.0" }
Kotlin
dependencies { implementation("androidx.car.app:app:1.4.0") // For Android Auto specific functionality implementation("androidx.car.app:app-projected:1.4.0") // For Android Automotive specific functionality implementation("androidx.car.app:app-automotive:1.4.0") // For testing testImplementation("androidx.car.app:app-testing:1.4.0") }
Per saperne di più sulle dipendenze, consulta Aggiungere dipendenze build.
Feedback
Il tuo feedback ci aiuta a migliorare Jetpack. Facci sapere se scopri nuovi problemi o hai idee per migliorare questa raccolta. Dai un'occhiata ai problemi esistenti in questa libreria prima di crearne uno nuovo. Puoi aggiungere il tuo voto a un problema esistente facendo clic sul pulsante a stella.
Per ulteriori informazioni, consulta la documentazione di Issue Tracker.
Versione 1.7
Versione 1.7.0-beta01
26 giugno 2024
Viene rilasciato androidx.car.app:app-*:1.7.0-beta01
. La versione 1.7.0-beta01 contiene questi commit. Le funzionalità sono le stesse di quelle pubblicate in alpha01 e vengono ripetute di seguito:
Nuove funzionalità
- Mappa con contenuti: nuovo modello, Canvas mappa più un modello di contenuti, che per ora può essere Elenco / Griglia / Riquadro / Messaggio.
RoutePreview
,PlaceListNavigation
eMapTemplate
sono deprecati. I modelli continueranno a funzionare così come sono.- Le app di esempio sono state aggiornate in modo da mostrare l'utilizzo
MapWithContent
invece dei modelli deprecati
- Conversazione: nuove API per la visualizzazione delle conversazioni (messaggistica immediata, SMS) e della lettura dell'assistente in auto.
- Dimensioni veicolo: nuova API per recuperare le misure relative ai veicoli (dati al momento presenti su AAOS).
Modifiche alle API
- Aggiungi il tag
@ExperimentalCarApi
aMediaPlaybackTemplate.Builder
. (Ic1957) - Aggiunge un nuovo
SectionedItemTemplate
in modalità sperimentale. (I5958a) - Presenta
CarAppApiLevel 8
(I3fa22) - Aggiunge
MediaPlaybackTemplate
per la visualizzazione di contenuti durante la riproduzione di contenuti multimediali nella Raccolta di app per auto. (I3c10d). - È stata aggiunta una nuova API per consentire alle app di rilevare se il sistema supporta l'audio in background durante la guida (I0f868)
Correzioni di bug
- Corregge alcune istanze di perdite di memoria e arresti anomali nel codice client CAL e nell'app di esempio di navigazione CAL. (I55e04)
- Sostituisci
requireNotNull instances
nel metodoonDestroy
diBaseCarAppActivity
con controlli se null per evitare arresti anomali. (Iec676).
Versione 1.7.0-alpha02
17 aprile 2024
Viene rilasciato androidx.car.app:app-*:1.7.0-alpha02
. La versione 1.7.0-alpha02 contiene questi commit.
Nuove funzionalità
- Sono stati aggiunti flag deprecati per i modelli basati su mappe che saranno supportati da
MapWithContent
modello in futuro.
Modifiche alle API
- Ritira i vecchi
MapTemplate
,RoutePreviewNavigationTemplate
,PlaceListNavigationTemplate
e incoraggia l'utilizzo dei nuoviMapWithContentTemplate
(Ib0a08)
Versione 1.7.0-alpha01
3 aprile 2024
Viene rilasciato androidx.car.app:app-*:1.7.0-alpha01
. Abbiamo spostato lo schema di controllo delle versioni della libreria in modo che corrisponda alla versione CarApi attiva. In questo modo è possibile ridurre la confusione sullo schema di denominazione in base al feedback degli sviluppatori. Di conseguenza, salteremo le versioni 1.5 / 1.6, che passano direttamente alla 1.7. La versione 1.7.0-alpha01 contiene questi commit.
Nuove funzionalità
- Mappa con contenuto: nuovo modello denominato
MapWithContent
che supporta Elenco / Griglia / Riquadro / Messaggio come contenuto all'interno di una mappa.- I modelli di mappa
RoutePreview
,PlaceListNavigation
sono stati ritirati. - Le app di esempio sono state aggiornate per mostrare le funzionalità dei modelli ritirati utilizzando
MapWithContent
.
- I modelli di mappa
- Conversazione: nuove API per la visualizzazione delle conversazioni (messaggistica immediata, SMS) e della lettura dell'assistente in auto.
- Dimensioni veicolo: nuova API per recuperare le misure relative ai veicoli (dati al momento presenti su AAOS).
Modifiche alle API
- Contrassegna il tipo di immagine riga extra piccola come sperimentale (I5184b)
- È stata aggiunta l'API
CarInfo#fetchExteriorDimensions
che consente di accedere alle informazioni sulle dimensioni esterne del veicolo, come altezza, larghezza e così via (Ia40c5) - Tag
ExperimentalAPI
rimosso daMapWithContentTemplate
(I66db8) - Aggiorna il parametro
GridItem#setTitle
in modo che sia possibile impostare valori null. (I3d610) - L'API
GetHeader
non richiede l'API 7 perché è compatibile con le versioni precedenti (I8c812) - Aggiungi il supporto per
Header
inListTemplate
, ritiraheaderAction
,headerTitle
eactionStrip
(I7ae01) - Ritira
title
,headerAction
,actionStrip
inGridTemplate
e aggiungi il supporto perHeader
(I41a9c) - Rimuovi il requisito del livello 7 per le API sperimentali: badge,
GridTemplate
getter/setter per dimensioni degli articoli e forma delle immagini,GridItem
metodi per ottenere/impostare un badge. (ID71eb) - Ritira
title
,headerAction
,actionStrip
inPaneTemplate
e aggiungi nuovo supportoHeader
(I23154) - Telemetria di Media Center cambiata da
BroadcastReceiver
a Azione personalizzata di navigazione. (I4185f) - Aggiunto il supporto dell'attributo
Header
inMessageTemplate
. Ritiro del supporto perActionStrip
,headerAction
etitle
. (Ie2de8) - Modificare la visibilità della costante di avviso (Icf8a8)
- Rimuovi l'attributo
isLoading
dal modello principale (I651e6) - Aggiungi extra per indicare alle app multimediali i parametri principali dell'interfaccia utente (I85ca2)
- Aggiungi la funzionalità di analisi dei media center a
MediaExtensions
(I7ce28) - Aggiunta un'opzione per immagini molto piccole nelle righe. (I72c03)
Correzioni di bug
- Aggiorna javadoc su
ConversationItem
per indicare che i messaggi devono essere ordinati dal meno recente al più recente. (I77a2a) - Aggiorna la logica di troncamento di
ListTemplate
per rimuovere i messaggi meno recenti daConversationItem
(Ie0a61)
Versione 1.4
Versione 1.4.0
29 maggio 2024
Viene rilasciato androidx.car.app:app-*:1.4.0
. La versione 1.4.0 è una promozione di 1.4.0-rc02.
Modifiche importanti dalla versione 1.3.0
- Rendering della mappa sul quadro strumenti per le app di navigazione
- Modello Nuova scheda per un migliore layout dell'app / usabilità
- Supporto per i limiti delle attività adattive
- Azioni secondarie sugli elementi dell'elenco
Versione 1.4.0-rc02
13 dicembre 2023
Viene rilasciato androidx.car.app:app-*:1.4.0-rc02
. La versione 1.4.0-rc02 contiene questi commit.. Solo correzioni di minore entità
Correzioni di bug
- Aggiorna javadoc su
ConversationItem
per indicare che i messaggi devono essere ordinati dal meno recente al più recente (I77a2a) - Aggiorna la logica di troncamento di
ListTemplate
per rimuovere i messaggi meno recenti daConversationItem
(Ie0a61)
Versione 1.4.0-rc01
1° novembre 2023
androidx.car.app:app-*:1.4.0-rc01
viene rilasciato senza modifiche degne di nota. La versione 1.4.0-rc01 contiene questi commit..
Versione 1.4.0-beta02
20 settembre 2023
Viene rilasciato androidx.car.app:app-*:1.4.0-beta02
. La versione 1.4.0-beta02 contiene questi commit.. È quasi identico alla versione beta01, ma riduce il requisito di compileSdk
a 33.
Correzioni di bug
- È stato corretto un bug per cui le schermate di caricamento nelle schede non venivano visualizzate correttamente. (cae860)
Versione 1.4.0-beta01
9 agosto 2023
Viene rilasciato androidx.car.app:app-*:1.4.0-beta01
. La versione 1.4.0-beta01 contiene questi commit..
Nota: la versione 1.4-beta01 richiede compileSdk34, che è ancora in stato dev. 1.4-beta02 correggerà questo problema. In alternativa, puoi aggiungere
android.suppressUnsupportedCompileSdk=34
al filesettings.gradle
del tuo progetto per eliminare temporaneamente l'avviso.
Nuove funzionalità
- Rendering della mappa del cluster degli strumenti per le app di navigazione
- Nuovo modello di schede per migliorare il layout dell'app e / o migliorare l'usabilità
- Supporto per i limiti delle attività adattive.
- Azioni secondarie sugli elementi dell'elenco
Modifiche alle API
- Vedi alpha02
Versione 1.4.0-alpha02
26 luglio 2023
Viene rilasciato androidx.car.app:app-*:1.4.0-alpha02
. La versione 1.4.0-alpha02 contiene questi commit.
- La versione Alpha02 è pensata per essere la preparazione a un'imminente release della versione beta01.
Nuove funzionalità
- Rendering della mappa su Quadro strumenti supportato per le app di navigazione
- Sono state aggiunte schede per le app per migliorare l'esperienza di layout
- Aggiunta delle opzioni di rendering del modello di elenco / griglia
- Sono state aggiunte nuove categorie per Meteo e Comunicazioni.
- Sposta diverse API alla release successiva di CarApi 7
Modifiche alle API
- Aggiungi campi multimediali a
CarMessage
(I5aaf6) - Aggiunge azioni personalizzate a
ConversationItem
nella Raccolta di app per auto (Ie5ed6) - Aggiungi extra per indicare che un elemento multimediale viene riprodotto in un formato audio immersivo e mostra il relativo logo del formato dei contenuti (Icb5bb)
- Aggiungi un nuovo tipo di azione, API
ActionsConstraints
per supportare il pulsante Scrivi. (I31661) set/getTemplate
creato comeset/get ContentTemplate
(Ica036)- Il parametro del modello ora sarà
@NonNull
. Documentazione dell'APIMapWithContentTemplate
aggiornata (I0f8ed) - Rimuove il tag
@ExperimentalCarApi
per le azioni inListTemplate
per il lancio nella CAL 1.4 (I2cfcb) - Rimuove il tag
@ExperimentalCarApi
perTabTemplate
(Ifcb82) - Rimuovere le annotazioni
@ExperimentalCarApi
dalle azioni e dalle decorazioni secondarie della riga (I8487e) - Aggiunge l'ID contenuto scheda attivo a
TabTemplate
e ritira lo stato attivo nelle schede (I96932) - Aggiungi la proprietà
ItemImageShape
aGridTemplate
(Ibf431) - Aggiungi la proprietà
ItemSize
aGridTemplate
, che controlla il dimensionamento degli elementi della griglia in base a bucket relativamente piccoli, medi e grandi. (Icdb3b) - Consentire agli sviluppatori l'accesso all'API per ottenere una copia dell'attuale stack di schermate. (I48107)
- Aggiunge la categoria per le app meteo alla raccolta di app per auto (I2be44)
- Aggiunge la categoria per le app di chiamata alla Raccolta di app per auto (Icab33)
GridItem.Builder#setBadge()
sostituito con metodisetImage()
con sovraccarico (Id2000)- Aggiunta di proprietà dell'icona al badge (I629b2)
- Aggiunta del metodo per impostare il colore di sfondo del badge a punti (I6411c)
- Aggiungi la proprietà Badge a
GridItem
, in modo da poter mostrare un badge sopra un'immagineGridItem
. (I95de7) - È stato aggiunto un oggetto sperimentale Badge che rappresenterà un badge da mostrare su un'immagine. (I9878d)
Versione 1.4.0-alpha01
22 febbraio 2023
Viene rilasciato androidx.car.app:app-*:1.4.0-alpha01
. La versione 1.4.0-alpha01 contiene questi commit.
Modifiche alle API
- Aggiunge azioni di primo livello a
GridTemplate
nella raccolta di app per auto (Id0191) - Aggiunge azioni di primo livello a
ListTemplate
nella raccolta di app per auto (I9efab) - Aggiungi extra per collegare il sottotitolo o la descrizione di un elemento multimediale ad altri elementi multimediali (Ic84bf)
- Aggiorna il livello dell'API per le azioni sulle righe al livello 6. (Ie0a69)
- Aggiungi callback di messaggistica ad A4C (Ie3986)
Correzioni di bug
- Aggiungi riferimenti a documento Java mancanti per
CarMessage
. (I5db1c) - Esegui l'override di
equals()
ehashCode()
perConversationItem
eCarMessage
(I6fd10) - Migliora la convalida di
ConversationItem.mMessages
(richiedi un valore diverso da null o da un campo non vuoto (Iafc51) - Aggiungi annotazioni
@Keep
aConversationItem
campi (I5d250) - Aggiorna i documenti Java per la decorazione della riga e le azioni secondarie. (I000b6)
Versione 1.3
Versione 1.3.0-rc01
7 dicembre 2022
Viene rilasciato androidx.car.app:app-*:1.3.0-rc01
. La versione 1.3.0-rc01 contiene questi commit.
- Correzioni di bug minori nella versione beta01. Nessun cambiamento importante.
Versione 1.3.0-beta01
7 settembre 2022
Vengono rilasciati i seguenti elementi: androidx.car.app:app:1.3.0-beta01
, androidx.car.app:app-projected:1.3.0-beta01
, androidx.car.app:app-automotive:1.3.0-beta01
e androidx.car.app:app-testing:1.3.0-beta01
. La versione 1.3.0-beta01 contiene questi commit.
- Le app per auto create utilizzando questa libreria ora possono accedere al Play Store utilizzando il livello API 5 (consulta la nostra guida allo sviluppo). Le funzionalità annotate con livello API 5 o inferiore sono compatibili sia con Android Auto 8.1 e versioni successive sia con Google Automotive App Host 1.4 e versioni successive.
Nuove funzionalità
Oltre alle funzionalità aggiunte nella libreria di app per auto 1.3.0-alpha01, nella versione beta01 sono state aggiunte le seguenti funzionalità (tutte le funzionalità qui riguardano solo le modifiche lato host senza modifiche all'API):
- La barra di navigazione mobile continuerà a essere visualizzata anche quando l'utente si trova in una schermata di selezione basata sulla mappa in
PlaceListNavigationTemplate
,RoutePreviewNavigationTemplate
eMapTemplate
. Per farlo, puoi aggiornare le informazioni di navigazione tramiteNavigationManager.updateTrip()
. - Attiva il pulsante di azione con
FLAG_DEFAULT
per visualizzare un'animazione di timeout. Per impostazione predefinita, dopo il timeout verrà fatto clic su questo pulsante. ([API 5 - All Templates]
) - Il testo secondario di un
Row
non viene troncato quando l'auto è parcheggiata, ma viene troncato a 2 righe durante la guida. ([API 5 - All Templates]
) - Supporto stato disattivato per
Action
,Toggle
,Row
([API 5 - All Templates]
)
Modifiche alle API
- Allarga i vincoli nell'elenco
MapTemplate
per supportare elenchi selezionabili (I961ed) - Rimuovi il vincolo per le Azioni intestazione per consentire l'aggiunta di icone personalizzate. (Iad28f)
- Aggiungi un vincolo
setOnClickListenerAllowed()
aActionsConstraints
. Dove ha consentito aAction
di impostareOnClickDelegate()
sulle azioni, ad eccezione dei tipi di icone standard. (TYPE_APP_ICON
,TYPE_BACK
eTYPE_PAN
) (I3c745)
Correzioni di bug
- Aggiunta della compatibilità di Android Automotive Template Host 1.4 e versioni successive con display curvi (
[Host change]
)
Versione 1.3.0-alpha01
27 luglio 2022
Vengono rilasciati i seguenti elementi: androidx.car.app:app:1.3.0-alpha01
, androidx.car.app:app-projected:1.3.0-alpha01
, androidx.car.app:app-automotive:1.3.0-alpha01
e androidx.car.app:app-testing:1.3.0-alpha01
. La versione 1.3.0-alpha01 contiene questi commit.
Le funzionalità annotate con il livello API 5 sono compatibili con Android Auto 7.9 e versioni successive.
Nuove funzionalità
- Livello API 5: nuovo
MapTemplate
che può essere utilizzato dalle app di navigazione per visualizzare riquadri o elenchi dei contenuti insieme a una mappa (If5826, If44b8) - API Livello 5: nuova API
CarAudioRecord
per consentire la registrazione dell'input audio tramite il microfono del veicolo host (I5e71a) - Livello API 5: nuova API
SuggestionManager
per consentire alle app di fornire suggerimenti all'host (I5c103) - Livello API 5: nuova API
Alert
da visualizzare nelle notifiche contestuali suNavigationTemplate
(I163a7, I5ad70) - Livello API 5: nuovi componenti
Header
eMapController
per facilitare il riutilizzo in più modelli (If5826) androidx.car.app.category.POI
aggiunta come categoria per l'attivazione delle app per PDI (e deprecateandroidx.car.app.category.PARKING
eandroidx.car.app.category.CHARGING
) (I59da1)
Modifiche alle API
- Livello API 5: nuovo metodo
onClick
nell'interfacciaSurfaceCallback
per consentire l'interattività tocco sulla mappa (Ia9777) - Livello API 5: nuovi flag
Action.FLAG_IS_PERSISTENT
eAction.FLAG_DEFAULT
per descrivere leAction
(I96318, I5ad70) - Livello API 5: nuovo stato attivato/disattivato per i componenti
Action
,Row
eToggle
(supporto host a partire dalla release 1.3.0-beta01 della libreria) (Id8a09) - Livello API 5: favorisci il nuovo componente
Header
tramitesetHeader
suPlaceListNavigationTemplate.Builder
eRoutePreviewNavigationTemplate.Builder
, ritirando i metodisetTitle
esetHeaderAction
esistenti (I30e6a) - Livello API 5: nuovo metodo
setOnContentRefreshListner
inPlaceListMapTemplate.Builder
ePlaceListNavigationTemplate.Builder
da utilizzare con le implementazioni della nuova interfacciaOnContentRefreshListner
. - Livello API 5: nuovi
setTripText
esetTripIcon
inTravelEstimate.Builder
per personalizzare la scheda delle stime di viaggio (Idcc6d, Ic620d) - Aggiungi il supporto per i
CarIconSpan
nel titolo diPaneTemplate
(Ia1ee0) - Aggiungi il supporto per i
CarIconSpan
nel titolo e nel testo diRow
(Ic1e3c) - I
ActionStrip
sulla mappa ora possono avere fino a quattro azioni (If3522) - Aggiorna il livello API di Car App a 5 (I26b8e)
- Titoli/titoli ora sono facoltativi per
PlaceListMapTemplate
,PlaceListNavigationTemplate
,RoutePreviewNavigationTemplate
,GridTemplate
,ListTemplate
,LongMessageTemplate
,MessageTemplate
,PaneTemplate
eSignInTemplate
(I2078d, Icadde)
Correzioni di bug
PaneTemplate
regole di dimensionamento delle immagini sono state aggiornate in un riquadro di delimitazione quadrato (Idd72e)- È stata corretta un'eccezione che si verifica se lo stack di schermate viene modificato dopo il giorno
State.DESTROYED
. (I3c8eb) - È stato aggiunto un controllo null per il recupero dell'icona dell'app (I3f710)
- Aggiorna l'API Car Hardware per utilizzare
STATUS_UNKNOWN
anzichéSTATUS_UNAVAILABLE
per impostazione predefinita (Ic9444) - Controlla se la visualizzazione esiste prima di creare la superficie (Ice027a)
- Correggi
CarValue.equals()
bug che riguardaSTATUS_UNIMPLEMENTED
(I24451)
Versione 1.2
Versione 1.2.0
9 novembre 2022
Viene rilasciato androidx.car.app:app-*:1.2.0
. La versione 1.2.0 contiene questi commit.
- Si tratta di una release di stabilizzazione e non ci sono modifiche rispetto alla v1.2.0-rc01.
Versione 1.2.0-rc01
23 marzo 2022
Viene rilasciato androidx.car.app:app-*:1.2.0-rc01
. La versione 1.2.0-rc01 contiene questi commit.
- Questa è una release di stabilizzazione e non ci sono modifiche all'API rispetto a
v1.2.0-beta02
. Sono state aggiunte nuove funzionalità sperimentali (livello API 5) destinate alle future release di Android Auto e Android Automotive.
Correzioni di bug
- È stata corretta un'eccezione che si verifica se lo stack di schermate viene modificato dopo il giorno
State.DESTROYED
. (I3c8eb) - L'API
CarSensors
è stata aggiornata per indicare che non è implementata per AAOS (Idd57b) - Aggiornamento di
PlaceListMapTempalte.Builder#setCurrentLocationEnabled
aggiornato per indicare che ACCESS_COARSE_LOCATION è sufficiente per la funzionalità (I510c2) - Numero di uscita reso facoltativo per i tipi di manovra con rotatoria con angolo (Ife7d1)
Versione 1.2.0-beta02
26 gennaio 2022
Viene rilasciato androidx.car.app:app-*:1.2.0-beta02
. La versione 1.2.0-beta02 contiene questi commit.
Le app per auto create con questa versione della raccolta destinate alla piattaforma Android Automotive OS
ora possono essere pubblicate sul canale di test aperto del Play Store. Per ulteriori dettagli, consulta la guida allo sviluppo.
Le funzionalità annotate con livello API 4 o inferiore sono compatibili sia con Android Auto
7.2 o versioni successive sia con la nuova piattaforma Android Automotive OS
. Per le avvertenze, consulta la sezione Known Issues
di seguito.
Modifiche alle API
- È stata aggiunta l'API
setOnContentRefreshListener
sperimentale ai modelli dei PDI (I6bf22)
Correzioni di bug
- È stata corretta una perdita di memoria in
CarAppService
quando l'host dell'auto si slega. (I5c9ca, b/203594731) - File javadoc
CarAppActivity
aggiornato per includere i requisiti per singleTask launchmode (Id2f95) - Riduce il problema visivo al ripristino. (Iff7e0).
Problemi noti
- I
ActionStrip
della mappa inPlaceListNavigationTemplate
eRoutePreviewNavigateTemplate
inizieranno a essere disponibili nelle prossime versioni diAndroid Auto
eAndroid Automotive OS
.
Versione 1.2.0-alpha02
15 dicembre 2021
Viene rilasciato androidx.car.app:app-*:1.2.0-alpha02
. La versione 1.2.0-alpha02 contiene questi commit.
È stato eseguito l'upgrade delle funzionalità annotate con il livello API 4 da sperimentale a stabile, incluse le ActionStrip
delle mappe in PlaceListNavigationTemplate
e RoutePreviewNavigateTemplate
, l'immagine CarIcon
nei Pane
, le QRCodeSignInMethod
e la possibilità di impostare i suggerimenti di rendering (ad es. i flag) in Action
.
Nuove funzionalità
- In Android Auto 7.1 e versioni successive, il limite di elementi per
Pane
è stato aumentato da 2 a 4.
Modifiche alle API
- È stato aggiunto un metodo
toString()
sperimentale aCarUnit
(I36a3b)
Correzioni di bug
- Risolto un arresto anomalo che si è verificato in
CarAppPermissionActivity
se il callback non è attivo (If9823) - Limite predefinito di
Pane
per l'elenco modificato in 4 (I0068b)
Versione 1.2.0-alpha01
3 novembre 2021
Viene rilasciato androidx.car.app:app-*:1.2.0-alpha01
. La versione 1.2.0-alpha01 contiene questi commit.
Tutte le nuove funzionalità di v1.2.0
(API 4 e versioni successive) sono attualmente sperimentali e hanno come target le future release di Android Auto e Android Automotive OS. Per ulteriori dettagli, consulta la guida allo sviluppo.
Modifiche alle API
- API
AutomotiveCarInfo
sperimentale. (Ia13e5). - È stato aggiunto il livello 4 dell'API Car App Library (I2a2e7)
- Livello API 4: aggiunto supporto per l'impostazione di
CarIcon
inPane
(Ifcc12) - Livello API 4: metodo di accesso con codice QR aggiunto (Ib623e)
- Livello API 4: aggiunto set/getFlags a
Action
(Ic03ab) - Livello API 4: aggiunto supporto per la panoramica e lo zoom in
PlaceListNavigationTemplate
eRoutePreviewNavigationTemplate
(I9d8a3)
Correzioni di bug
- Livello API 4: aggiunta di un meccanismo per consentire alle app di inviare aggiornamenti della posizione all'host dell'auto (I3bad3)
- Correzione di un problema per cui la logica di convalida dell'host non trovava correttamente l'autorizzazione TEMPLATE_RENDERER (I62618)
Versione 1.1.0
Versione 1.1.0
15 dicembre 2021
Viene rilasciato androidx.car.app:app-*:1.1.0
. La versione 1.1.0 contiene questi commit.
Questa è una release di stabilizzazione e non ci sono modifiche rispetto a v1.1.0-rc01
. Consulta anche le note di rilascio di v1.2.0-alpha02
per maggiori dettagli sulle nuove funzionalità della raccolta di app per auto.
Modifiche importanti dalla versione 1.0.0
- Livello API 2:
SignInTemplate
eLongMessageTemplate
che possono essere utilizzati per i flussi di accesso quando il veicolo è parcheggiato - Livello API 2: supporto dell'interattività mappa all'interno del
NavigationTemplate
- Livello API 2: supporto di testo a più lunghezze per consentire alle app di fornire più versioni della stringa da visualizzare a seconda delle dimensioni dello schermo dell'auto.
- Livello API 3:
CarHardwareManager
da usare per eseguire query sui dati hardware del veicolo, ad esempio modello e marca, livelli di carburante e altri sensori.
Versione 1.1.0-rc01
3 novembre 2021
Viene rilasciato androidx.car.app:app-*:1.1.0-rc01
. La versione 1.1.0-rc01 contiene questi commit.
Questa è una release di stabilizzazione e non ci sono modifiche all'API rispetto a v1.1.0-beta01
. Sono state aggiunte nuove funzionalità sperimentali (livello API 4) destinate alle future release di Android Auto. Consulta le note di rilascio di v1.2.0-alpha01
per maggiori dettagli sulle API sperimentali.
Versione 1.1.0-beta01
1° settembre 2021
Viene rilasciato androidx.car.app:app-*:1.1.0-beta01
. La versione 1.1.0-beta01 contiene questi commit.
Tutte le funzionalità di v1.1.0
(API 2 o versioni successive) sono completamente compatibili con Android Auto 6.7 e versioni successive. Per ulteriori dettagli, consulta la guida allo sviluppo.
Modifiche alle API
Manager
rimossa come interfaccia pubblica (Ie381b)- Aggiunta la possibilità di impostare uno sfondo con brand personalizzato per la richiesta di autorizzazione (I74b76)
ScreenManager.getStackSize
aggiunto (I0b16a)- Rimosso il costruttore
ScreenController
che utilizzaTestCarContext
(Iefebc)
Correzioni di bug
- È stato aggiunto il controllo del livello API durante la creazione di
CarHardwareManager
(I48f9b) - Sono stati aggiunti controlli per l'utilizzo non valido di
CarSpan
nell'API (I65ae6) - Risolto un problema per cui se un elemento
Screen
viene contrassegnato come completato durante la sua creazione, lasciava lo stack in uno stato non funzionante (I81b13) - Risolvi un problema per cui
CarNotificationManager.notify
registrava un errore per AutomotiveOS se erano presenti azioni con icone inCarAppExtender
(I3633d) - È stato aggiunto un metodo di handshake per app e host per stabilire una versione API (I7d6f8)
Versione 1.1.0-alpha02
21 luglio 2021
Viene rilasciato androidx.car.app:app-*:1.1.0-alpha02
. La versione 1.1.0-alpha02 contiene questi commit.
Nuove funzionalità
- Livello API 3: è stato aggiunto un
CarHardwareManager
che può essere utilizzato per eseguire query sui dati hardware del veicolo, ad esempio modello e marca, livelli di carburante e altri sensori. Al momento, questa funzionalità è disponibile solo per Android Auto 6.7 e versioni successive nel canale per i test aperti. Per eseguire il test in un ambiente desktop è necessaria una nuova versione diDesktop Head Unit
, che verrà rilasciata separatamente. Continua a seguirci sulla pagina Testare le app Android per le auto per i dettagli su quando sarà disponibile la nuova versione. - Segui la guida allo sviluppo e il riferimento alla libreria per ulteriori dettagli e linee guida di progettazione su come utilizzare queste funzionalità negli host delle auto compatibili con il livello API 3.
Modifiche alle API
- Metodi del ciclo di vita
SessionController
eScreenController
consolidati in un unico metodomoveToState
(I1ed00) - Aggiunta
CarContext#getHostInfo()
(I8977e) - Campi deprecati rimossi. (I67168)
- Sono stati aggiornati
SessionController
eScreenController
per esporre direttamente i costruttori (Iabf22) PinSignInMethod.Builder
eProviderSignInMethod.Builder
rimossi (I9f0cb)- È stato aggiunto "setCarAppResult()" per consentire l'utilizzo di app basate su modelli "per il risultato" in AAOS (I37741)
- Interfacce
CarHardware
annotate con@MainThread
. (Ib2f85). OnCarDataListener
rinominato inOnCarDataAvailableListener
(I518ca)- Aggiornati i nomi dei metodi
CarInfo
,Speed
,Mileage
e javadoc. (I86672) Toll
rinominato inTollCard
. (I3e7c8)- Rimosso deprecato
PinSignInMethod.getPin
che viene sostituito daPinSignInMethod.getPinCode
(I996ce) OnInputCompletedListener
rimosso (sostituito conInputCallback
). (Ib5be1)PinSignInMethod
modificato in modo da prendereCharSequence
anzichéString
(I275d5)
Correzioni di bug
- Correzioni di Javadoc per l'hardware dell'auto. (I2abbc)
Contributo esterno
Problemi noti
- Nell'
SignInTemplate
, l'uso delInputSignInMethod
potrebbe comportare la visualizzazione diNullPointerException
nell'host dell'auto. Questo problema verrà risolto nella prossima release della raccolta. Per aggirare il problema, includi questa riga nella configurazione di ProGuard dell'app:-keep class androidx.car.app.model.signin.InputSignInMethod { *; }
Versione 1.1.0-alpha01
16 giugno 2021
Vengono rilasciate le funzionalità androidx.car.app:app:1.1.0-alpha01
, androidx.car.app:app-automotive:1.1.0-alpha01
e androidx.car.app:app-testing:1.1.0-alpha01
. La versione 1.1.0-alpha01 contiene questi commit.
Nuove funzionalità
- Livello API 2: nuovi
SignInTemplate
eLongMessageTemplate
che possono essere utilizzati per i flussi di accesso quando il veicolo è parcheggiato. - Livello API 2: nuovo supporto dell'interattività delle mappe all'interno del
NavigationTemplate
- Livello API 2: nuovo supporto di più lunghezze testuali per consentire alle app di fornire più versioni della stringa da visualizzare a seconda delle dimensioni dello schermo dell'auto.
- Segui la guida allo sviluppo e il Javadoc della libreria per ulteriori dettagli e linee guida di progettazione su come utilizzare queste funzionalità negli host delle auto compatibili con il livello API 2.
Modifiche alle API
- Tutti i metodi di interfaccia
*Callback
sono stati impostati come predefiniti e rinominatiOnRequestPermissionsCallback
->OnRequestPermissionsListener
(Ib3ec9) - Sono state aggiornate
androidx.car.app.hardware
classi per rimuovere i builder e le classi di parametri non necessari. (I67beb) - Sono state aggiunte
androidx.car.app.hardware
classi per accedere a dati specifici dell'auto come carburante, batteria e velocità. (Iff3c9). - È stato aggiunto il supporto di
ActionStrip
suMessageTemplate
(Ida657) - Elemento
setLoading
aggiunto alla raccoltaMessageTemplate
. (I2a4b5). ConnectionToCar
rinominato inCarConnection
(Ife9bd)- È stato modificato
NavigationTemplate
per restituire un elementoPanModeDelegate
esplicito (I13877) - Ordine dei parametri aggiornato per
CarContext.requestPermissions
(Ib890a) - Chiave dei metadati aggiornata per definire il livello minimo dell'API dell'auto in
androidx.car.api.minCarApiLevel
(Ib0d41) - È stata creata un'API che consente di osservare lo stato della connessione dell'auto (Ifc935)
- Aggiunto il supporto per l'impostazione di un pulsante di attivazione/disattivazione per
Action
e è stato aggiunto il tipo di modalità PanoramicaAction
(Ica6af) CarNotificationManager
creato per supportare l'invio di notifiche in auto (I10d7a)- È stato aggiunto
ConstraintManager
per specificare i limiti di elenco dall'host (I8690e) - Aggiunta dell'API per la modalità Panoramica e la striscia di azione della mappa in
NavigationTemplate
(I77aa6) - Aggiunta dell'API panoramica e zoom in
SurfaceCallback
per le app di navigazione (Id5e9d) CarAppApiLevel
aggiornato alla versione 2 (Ic1540)- Aggiunta la possibilità di richiedere le autorizzazioni da un
CarAppService
(I5421e) - È stata aggiunta l'annotazione
RequiresCarApi(2)
all'API multi-testo (Iacb62) - Sono consentite più varianti di testo nel titolo del modello semielenco (Ib8df7)
- Nuovo
LongMessageTemplate
aggiunto (richiede il livello API 2 dell'auto) (Ic5cee)
Correzioni di bug
- Aggiornamento dei requisiti per le dimensioni delle immagini per tenere conto degli schermi delle auto più grandi (I116dc)
- Aggiunta di più di due azioni nel corpo del modello non consentita (I32157)
- Verificati che tutta la creazione di
PendingIntent
nella libreria di app per auto abbia impostato i flag. (If84fe, b/186394900) - Javadoc aggiornato per consentire le modifiche al testo di
Row
come aggiornamenti (If3f9c) androidx.activity:activity:1.2.0
ora è una dipendenza API (Id1cb9)- Abbiamo reso
SignInTemplate
eLongMessageTemplate
necessarie per richiedere le azioni di auto parcheggiate nel corpo e aggiornare la documentazione per indicare che verranno mostrate solo quando l'auto è parcheggiata (Iddaa9) - È stata corretta un'eccezione che si verificava quando si creava un elemento
Screen
all'avvio (Ifcf40, b/184664896) - Colore del testo personalizzato consentito in
ForegroundCarColorSpan
(I69e59) - Risolto un problema per cui si osserva
ON_DESTROY
su unSession
dopo unON_DESTROY
diScreen
(I52e01, b/183696617) - È consentito aggiornare javadoc quando si imposta un tempo sconosciuto per il tempo rimanente di
TravelEstimate
. (I99610, b/183632456) - Aggiornamento di
Action
per supportareForegroundColorSpan
nel titolo e qualsiasi colore di sfondo personalizzato (I578e4) - Non eseguire
NavigationManagerCallback#onStopNavigation
se il callback viene cancellato prima dell'esecuzione dell'esecutore (I7fc5e, b/181143772) - Risolto un problema che richiede all'app di assumere esplicitamente una dipendenza su lifecycle-common-java8 (I8b8c8)
Problemi noti
- Nell'
SignInTemplate
, la tastiera sullo schermo mostra un'icona "Cerca" anziché un'icona "Invio" quando l'utente vuole confermare l'immissione. Come soluzione alternativa, gli utenti possono accedere alla tastiera del telefono che si attiva quando il campo di immissione è attivo. - In Android Auto versione 6.5, i callback per la panoramica e lo zoom in
SurfaceCallback
potrebbero essere richiamati in modo errato per alcuni gesti di tocco.
Test su app auto versione 1.0.0
Versione 1.0.0-alpha01
24 marzo 2021
Viene rilasciato androidx.car.app:app-testing:1.0.0-alpha01
. La versione 1.0.0-alpha01 contiene questi commit.
Questa è la prima release Jetpack della libreria di test del codice sorgente chiuso in precedenza. Consulta i nostri esempi su come utilizzare questa libreria nei test.
Nuove funzionalità
- I controller per le classi del modello sono stati rimossi. I getter di modelli ora fanno parte della piattaforma API pubblica che consente di convalidare i valori impostati nei builder.
- Il valore
CarAppServiceController
precedente è stato sostituito dal nuovoSessionController
per la logica di test relativa alla durata della connessione agli hot.
Versione 1.0.0
Versione 1.0.0
21 aprile 2021
Viene rilasciato androidx.car.app:app:1.0.0
. La versione 1.0.0 contiene questi commit.
Funzionalità principali di 1.0.0
- All'inizio di aprile abbiamo annunciato che è possibile iniziare a pubblicare app sul canale di produzione utilizzando
androidx.car.app:app:1.0.0-rc01
. Car App Library v1.0.0 è ora stabile ed è completamente compatibile con Android Auto 6.1 e versioni successive. - Segui la guida allo sviluppo per avere informazioni dettagliate su come creare app di navigazione, parcheggio e ricarica per Android Auto utilizzando la libreria.
Correzioni di bug
- È stata corretta un'eccezione che si verificava quando si creava un elemento
Screen
all'avvio (70aae1, b/184664896) - Risolto un problema per cui si osserva
ON_DESTROY
su unSession
dopoON_DESTROY
diScreen
(0ceecb, b/183696617)
Versione 1.0.0-rc01
24 marzo 2021
Viene rilasciato androidx.car.app:app:1.0.0-rc01
. La versione 1.0.0-rc01 contiene questi commit.
Correzioni di bug
- È stato corretto un bug sulle condizioni di gara per cui
NavigationManagerCallback#onStopNavigation
veniva chiamato dopo l'annullamento della richiamata. Questo accade se il callback è stato cancellato prima dell'esecuzione dell'esecutore di callback (I7fc5e, b/181143772) - Risolto un problema che richiedeva che l'app assumesse esplicitamente una dipendenza da
lifecycle-common-java8
(I8b8c8) - Risolto il problema di
NullPointerException
generato quando l'app riceve una chiamatastopNavigation
dopo aver già rimosso un callback (Ib8b89, b/181143772) - Miglioramenti per non inviare chiamate all'app se il suo ciclo di vita non è almeno in uno stato
CREATED
(I86965, b/179800224, b/177921120) - Risolto un problema per cui veniva generata un'API minima non valida specificata nel file manifest dell'app, causando un errore ANR sull'host. (Iffedd, b/174231592)
Versione 1.0.0-beta01
24 febbraio 2021
Viene rilasciato androidx.car.app:app:1.0.0-beta01
. La versione 1.0.0-beta01 contiene questi commit.
Si tratta della prima release Jetpack della libreria di origine chiusa in precedenza ed è compatibile con Android Auto 6.1 o versioni successive. Segui la guida allo sviluppo per avere informazioni dettagliate su come creare app per auto utilizzando la libreria.
Nuove funzionalità
- È stato introdotto un elemento
GridTemplate
che la tua app può utilizzare per mostrare un elenco di elementi UI in un layout a griglia. - È stato introdotto un metodo
CarAppService.createHostValidator
per verificare che una connessione host provenga da una fonte attendibile (ad esempio Android Auto). - È stata aggiunta un'API
CarAppExtender.Builder.setColor
. (b/174231592)
Correzioni di bug
- È stato risolto un problema per cui viene ripristinato il
Screen
errato quando si aprivano le schermate in sequenza. (b/177590791)