Aplikacja samochodu
Najnowsza aktualizacja | Wersja stabilna | Kandydat do wydania | Wersja Beta | Wydanie alfa |
---|---|---|---|---|
26 czerwca 2024 r. | 1.4.0 | - | 1.7.0-beta01 | - |
Deklarowanie zależności
Aby dodać zależność do biblioteki aplikacji samochodu, musisz dodać do projektu repozytorium Google Maven. Więcej informacji znajdziesz w repozytorium Google Maven.
W pliku build.gradle
aplikacji lub modułu dodaj zależności artefaktów, których potrzebujesz:
Odlotowe
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") }
Więcej informacji o zależnościach znajdziesz w artykule Dodawanie zależności kompilacji.
Opinia
Twoja opinia pomoże nam ulepszyć Jetpack. Daj nam znać, jeśli odkryjesz nowe wydania lub masz pomysły na ulepszenie tej biblioteki. Zanim utworzysz nową bibliotekę, przejrzyj istniejące problemy w tej bibliotece. Możesz oddać swój głos do istniejącego problemu, klikając przycisk gwiazdki.
Więcej informacji znajdziesz w dokumentacji narzędzia do śledzenia problemów.
Wersja 1.7
Wersja 1.7.0-beta01
26 czerwca 2024 r.
Usługa androidx.car.app:app-*:1.7.0-beta01
została zwolniona. Wersja 1.7.0-beta01 zawiera te zatwierdzenia. Funkcje są takie same jak w wersji alfa01. Poniżej znajdują się powtórzenia:
Nowe funkcje
- Mapa z zawartością: nowy szablon – obszar roboczy mapy i szablon treści, którym obecnie może być Lista / Siatka / Panel / Wiadomość.
- Wycofano reguły
RoutePreview
,PlaceListNavigation
iMapTemplate
. Szablony będą działać bez zmian. - Przykładowe aplikacje zostały zaktualizowane, tak aby wyświetlały
MapWithContent
użycie zamiast wycofanych szablonów
- Wycofano reguły
- Element rozmowy: nowe interfejsy API do wyświetlania rozmów (komunikatorów i SMS-ów) oraz odczytu danych z Asystenta w samochodzie.
- Wymiary pojazdu: nowy interfejs API do pobierania danych o pomiarach pojazdów (obecnie dane z AAOS).
Zmiany interfejsu API
- Dodaj tag
@ExperimentalCarApi
do witrynyMediaPlaybackTemplate.Builder
. (IC1957). - Dodaje nową funkcję
SectionedItemTemplate
w wersji eksperymentalnej. (I5958a) - Poznaj
CarAppApiLevel 8
(I3fa22) - Dodaje
MediaPlaybackTemplate
do wyświetlania treści podczas odtwarzania multimediów w bibliotece aplikacji w samochodzie. (I3c10D). - Dodano nowy interfejs API dla aplikacji wykrywający, czy system obsługuje dźwięk w tle podczas jazdy (I0f868).
Poprawki błędów
- Naprawia niektóre wystąpienia wycieków i awarii pamięci w kodzie klienta CAL oraz w przykładowej aplikacji CAL Navigation Sample (I55e04).
- Aby uniknąć awarii, zastąp
requireNotNull instances
w metodzieonDestroy
w narzędziuBaseCarAppActivity
testami typu „if-null”. (Iec676).
Wersja 1.7.0-alpha02
17 kwietnia 2024 r.
Usługa androidx.car.app:app-*:1.7.0-alpha02
została zwolniona. Wersja 1.7.0-alfa02 zawiera te zatwierdzenia.
Nowe funkcje
- Dodaliśmy wycofane flagi do szablonów opartych na mapie, które będą używane w przypadku szablonów
MapWithContent
.
Zmiany interfejsu API
- Wycofanie starszych wersji usług
MapTemplate
,RoutePreviewNavigationTemplate
,PlaceListNavigationTemplate
i zachęcenie do korzystania z nowychMapWithContentTemplate
(Ib0a08)
Wersja 1.7.0-alpha01
3 kwietnia 2024 r.
Usługa androidx.car.app:app-*:1.7.0-alpha01
została zwolniona. Przenieśliśmy schemat obsługi wersji biblioteki, aby pasował do aktywnej wersji CarApi. Dzięki temu chcemy uniknąć nieporozumień związanych ze schematem nazewnictwa na podstawie opinii deweloperów. Z tego powodu pominiemy wersje 1.5 / 1.6, które są bezpośrednio przenoszone do wersji 1.7 1.7.0-alfa01, która zawiera te zatwierdzenia.
Nowe funkcje
- Mapa z zawartością: nowy szablon o nazwie
MapWithContent
, który obsługuje listy, siatkę, panele i wiadomości jako zawartość w mapie.RoutePreview
,PlaceListNavigation
, szablony map zostały wycofane.- Przykładowe aplikacje zostały zaktualizowane, aby pokazać, jak działają wycofane szablony za pomocą interfejsu
MapWithContent
.
- Element rozmowy: nowe interfejsy API do wyświetlania rozmów (komunikatorów i SMS-ów) oraz odczytu danych z Asystenta w samochodzie.
- Vehicle Dimensions (Wymiary pojazdu): nowy interfejs API do pobierania danych o pomiarach dotyczących pojazdów (obecnie dane z AAOS).
Zmiany interfejsu API
- Oznacz bardzo mały typ obrazu wiersza jako eksperymentalny (I5184b)
- Dodano interfejs API
CarInfo#fetchExteriorDimensions
, który umożliwia dostęp do informacji o zewnętrznych wymiarach pojazdu, takich jak wysokość, szerokość itp. (Ia40c5) - Usunięto tag
ExperimentalAPI
zMapWithContentTemplate
(I66db8) - Zaktualizuj parametr
GridItem#setTitle
, tak aby mógł mieć wartość null. (I3d610) GetHeader
API nie wymaga API 7, ponieważ jest zgodny wstecznie (I8c812)- Dodanie obsługi
Header
wListTemplate
, wycofanieheaderAction
,headerTitle
,actionStrip
(I7ae01) - Zrezygnuj z pakietów
title
,headerAction
iactionStrip
w usłudzeGridTemplate
i dodaj obsługęHeader
(I41a9c) - Usuń wymaganie na poziomie 7 dla eksperymentalnych interfejsów API: plakietka,
GridTemplate
rozmiar elementu i kształt obrazu (pobierz)/setters;GridItem
metody uzyskiwania/ustawiania plakietki. (Id71eb). - Wycofanie:
title
,headerAction
,actionStrip
w:PaneTemplate
, dodanie nowej obsługiHeader
(I23154) - Zmieniono dane telemetryczne Centrum multimediów z
BroadcastReceiver
na działanie niestandardowe związane z przeglądaniem. (I4185f) - Dodano obsługę atrybutu
Header
wMessageTemplate
. Wycofano obsługę tych zasad:ActionStrip
,headerAction
ititle
. (IE2de8). - Zmień stałą widoczność alertów (Icf8a8)
- Usuń atrybut
isLoading
z szablonu nadrzędnego (I651e6) - Dodaj dodatki informujące aplikacje do multimediów o głównych parametrach interfejsu (I85ca2)
- Dodawanie funkcji analitycznej centrum mediów do
MediaExtensions
(I7ce28) - Dodano opcję obsługi bardzo małego obrazu w wierszach. (I72c03).
Poprawki błędów
- Zaktualizuj dokument javadoc w systemie
ConversationItem
, aby określić, że wiadomości powinny być sortowane w kolejności od najstarszego do najnowszego. (I77a2a) - Zaktualizuj logikę przycinania
ListTemplate
, aby usunąć najstarsze wiadomości zConversationItem
(Ie0a61)
Wersja 1.4
Wersja 1.4.0
29 maja 2024 r.
Usługa androidx.car.app:app-*:1.4.0
została zwolniona. Wersja 1.4.0 promuje wersję 1.4.0-rc02.
Ważne zmiany wprowadzone od wersji 1.3.0
- Renderowanie mapy klastra w przypadku aplikacji do nawigacji
- Szablon nowej karty zwiększającej wygodę obsługi i układ aplikacji
- Obsługa adaptacyjnych limitów zadań
- Dodatkowe działania na elementach listy
Wersja 1.4.0-rc02
13 grudnia 2023 r.
Usługa androidx.car.app:app-*:1.4.0-rc02
została zwolniona. Wersja 1.4.0-rc02 zawiera te zatwierdzenia. Tylko drobne poprawki
Poprawki błędów
- Zaktualizuj plik javadoc w
ConversationItem
, aby określić, że wiadomości powinny być sortowane w kolejności od najstarszego do najnowszego (I77a2a) - Zaktualizuj logikę przycinania
ListTemplate
, aby usunąć najstarsze wiadomości zConversationItem
(Ie0a61)
Wersja 1.4.0-rc01
1 listopada 2023 roku
Wersja androidx.car.app:app-*:1.4.0-rc01
została udostępniona bez istotnych zmian. Wersja 1.4.0-rc01 zawiera te zatwierdzenia.
Wersja 1.4.0-beta02
20 września 2023 r.
Usługa androidx.car.app:app-*:1.4.0-beta02
została zwolniona. Wersja 1.4.0-beta02 zawiera te zatwierdzenia. Jest to niemal identyczne jak w wersji beta01, ale zmniejsza wymaganie compileSdk
do 33.
Poprawki błędów
- Naprawiono błąd polegający na tym, że ekrany wczytywania na kartach nie były prawidłowo wyświetlane. (CAE860).
Wersja 1.4.0-beta01
9 sierpnia 2023 r.
Usługa androidx.car.app:app-*:1.4.0-beta01
została zwolniona. Wersja 1.4.0-beta01 zawiera te zatwierdzenia.
Uwaga: wersja 1.4-beta01 wymaga narzędzia buildSdk34, który wciąż znajduje się w fazie dla programistów. 1.4-beta02 rozwiąże ten problem. Możesz też dodać
android.suppressUnsupportedCompileSdk=34
do plikusettings.gradle
projektu, aby bezpiecznie tymczasowo wyłączyć ostrzeżenie.
Nowe funkcje
- Ustawianie renderowania mapy Klaster w aplikacjach do nawigacji
- Nowy szablon karty zapewniający lepszy układ / łatwiejszą obsługę aplikacji.
- obsługę adaptacyjnych limitów zadań,
- Dodatkowe działania na elementach listy
Zmiany interfejsu API
- Zobacz wersję alfa 02
Wersja 1.4.0-alpha02
26 lipca 2023 r.
Usługa androidx.car.app:app-*:1.4.0-alpha02
została zwolniona. Wersja 1.4.0-alfa02 zawiera te zatwierdzenia.
- Wydanie wersji Alpha02 ma być przygotowaniem do nadchodzącej wersji beta01.
Nowe funkcje
- Renderowanie mapy w klastrze przyrządów w przypadku aplikacji do nawigacji
- Dodano karty aplikacji poprawiające działanie układu
- Dodano opcje renderowania szablonów list i siatki
- Dodaliśmy nowe kategorie Pogoda i Komunikacja
- Przeniesienie kilku interfejsów API do następnej wersji CarApi 7
Zmiany interfejsu API
- Dodawanie pól multimedialnych do aplikacji
CarMessage
(I5aaf6) - Dodaje niestandardowe działania do aplikacji
ConversationItem
w bibliotece aplikacji samochodowych (Ie5ed6) - Dodaj dodatki wskazujące, że element multimedialny jest odtwarzany w angażowym formacie audio, i pokazuje logo formatu treści (Icb5bb)
- Dodano nowy typ działania – interfejs API
ActionsConstraints
, aby umożliwić obsługę przycisku tworzenia wiadomości. (I31661) - Wykonano
set/getTemplate
jakoset/get ContentTemplate
(Ica036) - Parametr szablonu ma teraz postać
@NonNull
. Zaktualizowano dokumentację interfejsu APIMapWithContentTemplate
(I0f8ed) - Usunięcie tagu
@ExperimentalCarApi
działań wListTemplate
na potrzeby uruchomienia w CAL 1.4 (I2cfcb) - Usuwa tag
@ExperimentalCarApi
dla witrynyTabTemplate
(Ifcb82) - Usuń adnotacje
@ExperimentalCarApi
z działań dodatkowych i dekoracji w wierszu (I8487e) - Dodaje identyfikator treści aktywnej karty do
TabTemplate
i wycofuje stan aktywności kart (I96932) - Dodaj usługę
ItemImageShape
do kampaniiGridTemplate
(Ibf431) - Dodaj do pola
GridTemplate
właściwośćItemSize
, która steruje rozmiarem elementów siatki według względnych małych, średnich i dużych zasobników. (Icdb3b). - Udostępnij deweloperom dostęp do interfejsu API, aby uzyskać kopię obecnego stosu ekranów. (I48107)
- Dodaje kategorię aplikacji pogodowych do biblioteki aplikacji w samochodzie (I2be44)
- Dodaje kategorię aplikacji do połączeń do biblioteki aplikacji w samochodzie (Icab33)
- Zastąpiono metodę
GridItem.Builder#setBadge()
przeciążonymi metodamisetImage()
(Id2000) - Dodawanie właściwości ikony do logo (I629b2)
- Dodaj metodę ustawiania koloru tła plakietki (I6411c)
- Dodaj właściwość plakietki do kategorii
GridItem
, aby umożliwić wyświetlanie plakietki nad obrazamiGridItem
. (I95de7) - Dodano eksperymentalny obiekt plakietki, który będzie reprezentować plakietkę wyświetlaną na obrazie. (I9878D)
Wersja 1.4.0-alpha01
22 lutego 2023 roku
Usługa androidx.car.app:app-*:1.4.0-alpha01
została zwolniona. Wersja 1.4.0-alfa01 zawiera te zatwierdzenia.
Zmiany interfejsu API
- Dodaje działania najwyższego poziomu do aplikacji
GridTemplate
w bibliotece aplikacji samochodowych (Id0191) - Dodaje działania najwyższego poziomu do aplikacji
ListTemplate
w bibliotece aplikacji samochodowych (I9efab) - Dodaj dodatki, aby połączyć podtytuł lub opis elementu multimedialnego z innymi elementami multimedialnymi (Ic84bf)
- Zaktualizuj poziom API działań dotyczących wiersza na poziom 6. (IE0A69)
- Dodawanie połączeń zwrotnych w ramach wiadomości do A4C (Ie3986)
Poprawki błędów
- Dodaj brakujące odwołania do dokumentacji Java dla
CarMessage
. (I5db1c). - Zastąp
equals()
ihashCode()
dlaConversationItem
iCarMessage
(I6fd10) - Popraw weryfikację pola
ConversationItem.mMessages
(wymaga wartości niepustej, wartości niepustej (Iafc51) - Dodawanie adnotacji
@Keep
do pólConversationItem
(I5d250) - Zaktualizuj dokumentację Java dotyczącą dekoracji wierszy i działań dodatkowych. (I000B6)
Wersja 1.3
Wersja 1.3.0-rc01
7 grudnia 2022 r.
Usługa androidx.car.app:app-*:1.3.0-rc01
została zwolniona. Wersja 1.3.0-rc01 zawiera te zatwierdzenia.
- Naprawiono drobne błędy z wersji beta01. Brak większych zmian.
Wersja 1.3.0-beta01
7 września 2022 roku
Udostępniono 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
i androidx.car.app:app-testing:1.3.0-beta01
. Wersja 1.3.0-beta01 zawiera te zatwierdzenia.
- Aplikacje samochodowe utworzone przy użyciu tej biblioteki można teraz przesyłać do Sklepu Play przy użyciu interfejsu API poziomu 5 (zobacz nasz przewodnik dla programistów). Funkcje opisane w interfejsie API na poziomie 5 lub niższym są zgodne zarówno z Androidem Auto 8.1 lub nowszym, jak i z Google Automotive App Host w wersji 1.4 lub nowszej.
Nowe funkcje
Oprócz możliwości dodanych do Biblioteki aplikacji samochodowych w wersji 1.3.0-alfa01 dodaliśmy te funkcje w ramach wersji beta 01 (wszystkie funkcje są tu wprowadzane tylko ze zmianami po stronie hosta bez żadnych zmian w interfejsie API):
- Pływający pasek nawigacyjny będzie nadal wyświetlany nawet wtedy, gdy użytkownik znajduje się na ekranie wyboru na podstawie mapy w usługach
PlaceListNavigationTemplate
,RoutePreviewNavigationTemplate
iMapTemplate
. Możesz to zrobić, aktualizując informacje nawigacyjne w narzędziuNavigationManager.updateTrip()
. - Włącz przycisk polecenia
FLAG_DEFAULT
, aby utworzyć animację z limitem czasu. Ten przycisk będzie klikany domyślnie po upływie limitu czasu. ([API 5 - All Templates]
) - Tekst
Row
s nie jest obcinany, gdy samochód jest zaparkowany, ale obcinany do 2 wierszy podczas jazdy. ([API 5 - All Templates]
) - Stan wyłączenia pomocy dla:
Action
,Toggle
,Row
([API 5 - All Templates]
)
Zmiany interfejsu API
- Rozszerz ograniczenia na liście
MapTemplate
, aby obsługiwać listy, które można wybrać (I961ed) - Usuń ograniczenie dotyczące działań związanych z nagłówkiem, aby umożliwić stosowanie ikon niestandardowych. (Iad28f).
- Dodaj ograniczenie
setOnClickListenerAllowed()
do zakresuActionsConstraints
. Tam, gdzieAction
może ustawićOnClickDelegate()
na działania z wyjątkiem ikon standardowych. (TYPE_APP_ICON
,TYPE_BACK
iTYPE_PAN
) (I3c745)
Poprawki błędów
- Dodano zgodność hosta szablonu Android Automotive 1.4 lub nowszego z zakrzywionymi wyświetlaczami (
[Host change]
).
Wersja 1.3.0-alpha01
27 lipca 2022 roku
Udostępniono 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
i androidx.car.app:app-testing:1.3.0-alpha01
. Wersja 1.3.0-alfa01 zawiera te zatwierdzenia.
Funkcje opisane za pomocą interfejsu API poziomu 5 są zgodne z Androidem Auto 7.9 i nowszymi.
Nowe funkcje
- Poziom interfejsu API 5: nowy
MapTemplate
, którego aplikacje do nawigacji mogą używać do wyświetlania panelu lub listy treści wraz z mapą (If5826, If44b8) - API poziomu 5: nowy interfejs API
CarAudioRecord
umożliwiający nagrywanie dźwięku z mikrofonu pojazdu hosta (I5e71a) - API poziomu 5: nowy interfejs API
SuggestionManager
umożliwiający aplikacjom przekazywanie sugestii do hosta (I5c103) - Poziom 5: nowy interfejs API
Alert
do wyświetlania w powiadomieniach kontekstowych wNavigationTemplate
(I163a7, I5ad70) - Poziom API 5: nowe komponenty
Header
iMapController
, które ułatwiają ponowne korzystanie z różnych szablonów (If5826) - Dodano
androidx.car.app.category.POI
jako kategorię włączania aplikacji ważnych miejsc (i wycofaneandroidx.car.app.category.PARKING
iandroidx.car.app.category.CHARGING
) (I59da1)
Zmiany interfejsu API
- Poziom API 5: nowa metoda
onClick
w interfejsieSurfaceCallback
umożliwiająca interaktywność na mapie (Ia9777) - Poziom interfejsu API 5: nowe flagi
Action.FLAG_IS_PERSISTENT
iAction.FLAG_DEFAULT
do opisania elementów typuAction
(I96318, I5ad70) - Poziom API 5: nowy stan włączenia/wyłączenia komponentów
Action
,Row
iToggle
(obsługa hosta wkrótce w wersji 1.3.0-beta01 biblioteki) (Id8a09) - Poziom interfejsu API 5: preferuj nowy komponent
Header
za pomocą komponentusetHeader
w plikachPlaceListNavigationTemplate.Builder
iRoutePreviewNavigationTemplate.Builder
, wycofując obecne metodysetTitle
isetHeaderAction
(I30e6a) - Poziom interfejsu API 5: nowa metoda
setOnContentRefreshListner
na platformachPlaceListMapTemplate.Builder
iPlaceListNavigationTemplate.Builder
do użytku z implementacjami nowego interfejsuOnContentRefreshListner
. - Poziom interfejsu API 5: nowe
setTripText
isetTripIcon
w:TravelEstimate.Builder
w celu dostosowania karty prognozy dotyczącej podróży (Idcc6d, Ic620d) - Dodaj obsługę
CarIconSpan
w tytulePaneTemplate
(Ia1ee0) - Dodawanie obsługi elementów
CarIconSpan
w tytule i tekście elementuRow
(Ic1e3c) - Elementy mapy
ActionStrip
mogą teraz mieć maksymalnie 4 działania (If3522). - Zaktualizuj interfejs Car App API na poziomie 5 (I26b8e)
- Nagłówki/tytuły są teraz opcjonalne w przypadku dokumentów
PlaceListMapTemplate
,PlaceListNavigationTemplate
,RoutePreviewNavigationTemplate
,GridTemplate
,ListTemplate
,LongMessageTemplate
,MessageTemplate
,PaneTemplate
iSignInTemplate
(I2078d, Icadde)
Poprawki błędów
- Zaktualizowano reguły rozmiaru obrazu
PaneTemplate
, aby stały się kwadratową ramką ograniczającą (Idd72e) - Naprawiliśmy wyjątek, który występował, gdy stos ekranów został zmodyfikowany po
State.DESTROYED
. (I3c8eb). - Dodano zerową kontrolę pobierania ikony aplikacji (I3f710).
- Zaktualizuj interfejs Car Hardware API, aby domyślnie używał
STATUS_UNKNOWN
zamiastSTATUS_UNAVAILABLE
(Ic9444) - Przed utworzeniem powierzchni sprawdź, czy wyświetlacz jest dostępny (Ice027a).
- Napraw błąd
CarValue.equals()
dotyczący aplikacjiSTATUS_UNIMPLEMENTED
(I24451)
Wersja 1.2
Wersja 1.2.0
9 listopada 2022 r.
Usługa androidx.car.app:app-*:1.2.0
została zwolniona. Wersja 1.2.0 zawiera te zatwierdzenia.
- Jest to wersja ze stabilizacją i bez żadnych zmian w porównaniu z wersją 1.2.0-rc01.
Wersja 1.2.0-rc01
23 marca 2022 r.
Usługa androidx.car.app:app-*:1.2.0-rc01
została zwolniona. Wersja 1.2.0-rc01 zawiera te zatwierdzenia.
- Jest to wersja stabilizacyjna. W porównaniu z wersją
v1.2.0-beta02
nie wprowadzono żadnych zmian w interfejsie API. Dodaliśmy nowe funkcje eksperymentalne (poziom interfejsu API 5), które są przeznaczone dla przyszłych wersji Androida Auto i Androida Automotive.
Poprawki błędów
- Naprawiliśmy wyjątek, który występował, gdy stos ekranów został zmodyfikowany po
State.DESTROYED
. (I3c8eb). - Zaktualizowaliśmy interfejs API
CarSensors
, aby wskazać, że nie są one zaimplementowane w systemie AAOS (Idd57b) - Zaktualizowano
PlaceListMapTempalte.Builder#setCurrentLocationEnabled
, by wskazać, że parametr ACCESS_COARSE_LOCATION jest wystarczający do działania tej funkcji (I510c2). - Numer zjazdu jest opcjonalny dla typów skrętów rondem z kątem (Ife7d1).
Wersja 1.2.0-beta02
26 stycznia 2022 r.
Usługa androidx.car.app:app-*:1.2.0-beta02
została zwolniona. Wersja 1.2.0-beta02 zawiera te zatwierdzenia.
Aplikacje samochodowe utworzone za pomocą tej biblioteki kierowane na platformę Android Automotive OS
można teraz publikować w kanale testów otwartych Sklepu Play. Więcej informacji znajdziesz w przewodniku dla programistów.
Funkcje opisane w interfejsie API na poziomie 4 lub niższym są zgodne zarówno z Android Auto
w wersji 7.2, jak i z nową platformą Android Automotive OS
. Zastrzeżenia znajdziesz w sekcji Known Issues
poniżej.
Zmiany interfejsu API
- Do szablonów ciekawych miejsc dodano eksperymentalny interfejs API
setOnContentRefreshListener
(I6bf22)
Poprawki błędów
- Naprawiono wyciek pamięci w
CarAppService
po usunięciu powiązania hosta w samochodzie. (I5c9ca, b/203594731) - Zaktualizowano plik javadoc
CarAppActivity
, aby uwzględnić wymagania dotyczące trybu uruchamiania jednokrotnego zadania (Id2f95) - Eliminuje problemy wizualne przy wznawianiu. (Iff7e0).
Znane problemy
- Mapy
ActionStrip
w regionachPlaceListNavigationTemplate
iRoutePreviewNavigateTemplate
zaczną być dostępne w następnych wersjach:Android Auto
iAndroid Automotive OS
.
Wersja 1.2.0-alfa02
15 grudnia 2021 roku
Usługa androidx.car.app:app-*:1.2.0-alpha02
została zwolniona. Wersja 1.2.0-alfa02 zawiera te zatwierdzenia.
Funkcje opisane w interfejsie API poziomu 4 zostały przekształcone z wersji eksperymentalnej w stabilną. Dotyczy to m.in. map ActionStrip
w PlaceListNavigationTemplate
i RoutePreviewNavigateTemplate
, obrazu CarIcon
w systemach Pane
i QRCodeSignInMethod
oraz możliwości ustawiania wskazówek dotyczących renderowania (np. flag) w jednostkach Action
.
Nowe funkcje
- Na Androidzie Auto 7.1 i nowszych limit produktów
Pane
został zwiększony z 2 do 4.
Zmiany interfejsu API
- Do aplikacji
CarUnit
(I36a3b) dodano eksperymentalną metodętoString()
.
Poprawki błędów
- Rozwiązaliśmy problem, który występował w
CarAppPermissionActivity
, gdy wywołanie zwrotne nie było dostępne (If9823). - Zmieniono limit domyślnych list (
Pane
) na 4 (I0068b)
Wersja 1.2.0-alpha01
3 listopada 2021 r.
Usługa androidx.car.app:app-*:1.2.0-alpha01
została zwolniona. Wersja 1.2.0-alfa01 zawiera te zatwierdzenia.
Wszystkie nowe funkcje v1.2.0
(API w wersji 4 i nowszych) są obecnie w wersji eksperymentalnej i są kierowane na przyszłe wersje Androida Auto i Androida Automotive. Więcej informacji znajdziesz w przewodniku dla programistów.
Zmiany interfejsu API
- Wprowadzono eksperymentalny interfejs API
AutomotiveCarInfo
. (Ia13e5). - dodano interfejs Car App Library API poziomu 4 (I2a2e7).
- Poziom API 4: dodano obsługę konfigurowania
CarIcon
wPane
(Ifcc12) - Poziom API 4: dodano metodę logowania za pomocą kodu QR (Ib623e)
- Poziom interfejsu API 4: dodano flagę set/getFlags do zbioru danych
Action
(Ic03ab) - Poziom API 4: dodano obsługę przesuwania i powiększania w obszarach
PlaceListNavigationTemplate
iRoutePreviewNavigationTemplate
(I9d8a3)
Poprawki błędów
- Poziom interfejsu API 4: dodaj mechanizm umożliwiający aplikacjom wysyłanie aktualizacji lokalizacji do hosta samochodu (I3bad3)
- Rozwiąż problem, który powodował, że logika weryfikacji hosta nie znalazła prawidłowo uprawnienia TEMPLATE_RENDERER (I62618)
Wersja 1.1.0
Wersja 1.1.0
15 grudnia 2021 roku
Usługa androidx.car.app:app-*:1.1.0
została zwolniona. Wersja 1.1.0 zawiera te zatwierdzenia.
To jest wersja ze stabilizacją. Nic się nie zmieni w porównaniu z wersją v1.1.0-rc01
. Aby dowiedzieć się więcej o nowych funkcjach biblioteki aplikacji samochodu, zapoznaj się z informacjami o wersji v1.2.0-alpha02
.
Ważne zmiany wprowadzone od wersji 1.0.0
- Poziom interfejsu API 2:
SignInTemplate
iLongMessageTemplate
, których można używać do logowania się, gdy pojazd jest zaparkowany - Poziom 2 interfejsu API: obsługa interaktywności map w interfejsie
NavigationTemplate
- Poziom interfejsu API poziomu 2: obsługa tekstu o wielu długościach, dzięki czemu aplikacje mogą wyświetlać wiele wersji ciągu tekstowego w zależności od rozmiaru ekranu samochodu.
- Poziom interfejsu API 3:
CarHardwareManager
, którego można używać do wysyłania zapytań dotyczących danych sprzętowych pojazdu, takich jak model i marka, poziom paliwa i inne czujniki.
Wersja 1.1.0-rc01
3 listopada 2021 r.
Usługa androidx.car.app:app-*:1.1.0-rc01
została zwolniona. Wersja 1.1.0-rc01 zawiera te zatwierdzenia.
Jest to wersja stabilizacyjna. W porównaniu z wersją v1.1.0-beta01
nie wprowadzono żadnych zmian w interfejsie API. Dodaliśmy nowe funkcje eksperymentalne (poziom API 4), które są przeznaczone dla przyszłych wersji Androida Auto. Więcej informacji o eksperymentalnych interfejsach API znajdziesz w informacjach o wersji v1.2.0-alpha01
.
Wersja 1.1.0-beta01
1 września 2021 roku
Usługa androidx.car.app:app-*:1.1.0-beta01
została zwolniona. Wersja 1.1.0-beta01 zawiera te zatwierdzenia.
Wszystkie funkcje v1.1.0
(API 2 lub nowsze) są w pełni zgodne z Androidem Auto 6.7 lub nowszym. Więcej informacji znajdziesz w przewodniku dla programistów.
Zmiany interfejsu API
- Usunięto interfejs
Manager
jako interfejs publiczny (Ie381b). - Dodano możliwość ustawienia niestandardowego tła z nazwą marki dla prośby o uprawnienia (I74b76)
- Dodano
ScreenManager.getStackSize
(I0b16a) - Usunięto konstruktor
ScreenController
, który jawnie przyjmuje wartośćTestCarContext
(Iefebc)
Poprawki błędów
- Dodano sprawdzanie poziomu interfejsu API podczas tworzenia
CarHardwareManager
(I48f9b) - Dodano sprawdzanie nieprawidłowego użycia atrybutu
CarSpan
w interfejsie API (I65ae6) - Rozwiązaliśmy problem, który powodował, że jeśli podczas tworzenia obiektu
Screen
został on oznaczony jako ukończony, pozostawał on w stanie uszkodzony (I81b13) - Naprawiono błąd polegający na tym, że
CarNotificationManager.notify
w systemie AutomotiveOS rejestrował błąd z ikonami wCarAppExtender
(I3633d) - Dodano metodę uzgadniania połączenia dla aplikacji i hosta w celu ustanowienia wersji interfejsu API (I7d6f8).
Wersja 1.1.0-alfa02
21 lipca 2021 r.
Usługa androidx.car.app:app-*:1.1.0-alpha02
została zwolniona. Wersja 1.1.0-alfa02 zawiera te zatwierdzenia.
Nowe funkcje
- Poziom interfejsu API 3: dodano atrybut
CarHardwareManager
, którego można używać do wysyłania zapytań dotyczących danych sprzętowych pojazdu, takich jak model i marka, poziom paliwa i inne czujniki. Obecnie ta funkcja jest dostępna tylko na Androidzie Auto 6.7 lub nowszym w kanale testów otwartych. Aby przetestować to w środowisku komputerowym, wymagana jest nowa wersjaDesktop Head Unit
, która zostanie opublikowana oddzielnie. Zaglądaj na stronę testowania aplikacji na Androida w samochodach, aby dowiedzieć się, kiedy będzie dostępna nowa wersja. - Aby uzyskać dodatkowe informacje i wskazówki dotyczące projektowania tych funkcji na hostach samochodowych zgodnych z interfejsem API poziomu 3, postępuj zgodnie z przewodnikiem dla programistów i dokumentacją biblioteki.
Zmiany interfejsu API
- Skonsolidowano metody cyklu życia
SessionController
iScreenController
w jedną metodęmoveToState
(I1ed00) - Dodano
CarContext#getHostInfo()
(I8977e) - Usunięto wycofane pola. (I67168)
- Zaktualizowano
SessionController
iScreenController
, aby bezpośrednio udostępnić konstruktory (Iabf22). - Usunięto:
PinSignInMethod.Builder
iProviderSignInMethod.Builder
(I9f0cb) - Dodano funkcję „setCarAppResult()”, aby umożliwić korzystanie z aplikacji szablonowych „dla wyniku” w AAOS (I37741).
- Interfejsy
CarHardware
z adnotacjami na@MainThread
. (Ib2f85). - Zmieniono nazwę z
OnCarDataListener
naOnCarDataAvailableListener
(I518ca) - Zaktualizowano nazwy metod
CarInfo
,Speed
,Mileage
oraz javadoc. (I86672) - Nazwa
Toll
została zmieniona naTollCard
. (I3e7c8). - Usunięto wycofaną wartość
PinSignInMethod.getPin
, która została zastąpiona przezPinSignInMethod.getPinCode
(I996ce). - Usunięto tekst
OnInputCompletedListener
(zastąpiony elementemInputCallback
). (Ib5be1). - Zmieniono
PinSignInMethod
naCharSequence
zamiastString
(I275d5)
Poprawki błędów
- Poprawki w języku Javadoc dotyczące sprzętu samochodowego. (I2abbc),
Treści tłumaczone przez użytkowników zewnętrznych
Znane problemy
- W
SignInTemplate
użycie funkcjiInputSignInMethod
może spowodować wyświetlenie komunikatuNullPointerException
na hoście samochodu. Ten problem zostanie rozwiązany w następnej wersji biblioteki. Aby obejść ten problem, dodaj ten wiersz do konfiguracji Proguard aplikacji:-keep class androidx.car.app.model.signin.InputSignInMethod { *; }
Wersja 1.1.0-alpha01
16 czerwca 2021 r.
androidx.car.app:app:1.1.0-alpha01
, androidx.car.app:app-automotive:1.1.0-alpha01
i androidx.car.app:app-testing:1.1.0-alpha01
zostały udostępnione. Wersja 1.1.0-alfa01 zawiera te zatwierdzenia.
Nowe funkcje
- Poziom interfejsu API 2: nowe
SignInTemplate
iLongMessageTemplate
, których można używać do logowania się, gdy pojazd jest zaparkowany. - Poziom 2 interfejsu API: nowa interaktywność mapy w
NavigationTemplate
- Poziom interfejsu API poziomu 2: nowa obsługa tekstu o wielu długościach, dzięki której aplikacje mogą wyświetlać wiele wersji ciągu tekstowego w zależności od rozmiaru ekranu samochodu.
- Postępuj zgodnie z przewodnikiem dla programistów i biblioteką Javadoc, aby uzyskać dodatkowe informacje i wytyczne projektowe dotyczące korzystania z tych funkcji na hostach samochodowych zgodnych z interfejsem API poziomu 2.
Zmiany interfejsu API
- Ustawienie wszystkich metod interfejsu
*Callback
jako domyślne i nazwyOnRequestPermissionsCallback
->OnRequestPermissionsListener
(Ib3ec9) - Zaktualizowaliśmy klasy (
androidx.car.app.hardware
), aby usunąć niepotrzebne kreatory i klasy parametrów. (I67beb) - Dodano klasy
androidx.car.app.hardware
, które zapewniają dostęp do danych dotyczących konkretnego samochodu, np. dotyczących paliwa, baterii i prędkości. (Iff3c9). - Dodano obsługę
ActionStrip
w systemieMessageTemplate
(Ida657) - Dodano
setLoading
do listyMessageTemplate
. (I2a4b5) - Zmieniono nazwę z
ConnectionToCar
naCarConnection
(Ife9bd) - Zmieniono
NavigationTemplate
, aby zwracał wyraźną wartośćPanModeDelegate
(I13877). - Zaktualizowano kolejność parametrów dla parametru
CarContext.requestPermissions
(Ib890a) - Zaktualizowano klucz metadanych, aby określić min. poziom interfejsu API samochodu na
androidx.car.api.minCarApiLevel
(Ib0d41) - Utworzenie interfejsu API, który umożliwia obserwowanie stanu połączenia z samochodem (Ifc935).
- Dodaliśmy obsługę ustawiania przełącznika
Action
i typ trybu przesuwaniaAction
(Ica6af). - Utworzono
CarNotificationManager
do obsługi wysyłania powiadomień w samochodzie (I10d7a) - Dodano
ConstraintManager
do podawania limitów list z hosta (I8690e) - Dodano tryb przesuwania i interfejs API paska działań mapy w
NavigationTemplate
(I77aa6) - Dodano interfejs API przesuwania i powiększania w aplikacji
SurfaceCallback
dla aplikacji do nawigacji (Id5e9d) - Zaktualizowano
CarAppApiLevel
do 2 (IC1540) - Dodano możliwość próśb o uprawnienia z
CarAppService
(I5421e) - Dodano adnotację
RequiresCarApi(2)
do interfejsu API z wieloma tekstami (Iacb62) - W tytule szablonu półlisty (Ib8df7) zezwalano na wiele wariantów tekstowych.
- Dodano nową wersję:
LongMessageTemplate
(wymaga interfejsu API samochodu na poziomie 2) (Ic5cee)
Poprawki błędów
- Aktualizacja wymagań dotyczących rozmiaru obrazu w celu uwzględnienia większych ekranów samochodów (I116dc)
- Niedozwolone dodawanie więcej niż 2 działań w treści szablonu (I32157)
- Zapewnia, że wszystkie elementy
PendingIntent
zostały utworzone w flagach zestawów biblioteki aplikacji w samochodzie. (If84fe, b/186394900) - Zaktualizowano dokument javadoc, aby zezwalał na zmiany tekstu elementu
Row
w ramach odświeżania (If3f9c) androidx.activity:activity:1.2.0
jest teraz zależnością API (Id1cb9)SignInTemplate
iLongMessageTemplate
zostały ustawione tak, aby wymagały działań tylko zaparkowanych pojazdów, i zaktualizowaliśmy dokumentację, żeby potwierdzać, że będą wyświetlane tylko po zaparkowaniu samochodu (Iddaa9).- Naprawiono wyjątek, który występował podczas wyskakującego okienka
Screen
podczas uruchamiania (Ifcf40, b/184664896) - Dozwolony niestandardowy kolor tekstu w
ForegroundCarColorSpan
(I69e59) - Rozwiązaliśmy problem, który powodował, że po wartości
ON_DESTROY
obiektuScreen
występujeON_DESTROY
na elemencieSession
(I52e01, b/183696617) - Zaktualizowano dokument javadoc, gdy można ustawić pozostały czas
TravelEstimate
na nieznany czas. (I99610, b/183632456) - Zaktualizowano
Action
, aby obsługiwałForegroundColorSpan
w tytule i dowolny niestandardowy kolor tła (I578e4). - Nie uruchamiaj polecenia
NavigationManagerCallback#onStopNavigation
, jeśli wywołanie zwrotne zostanie wyczyszczone przed wykonaniem działania wykonawcy (I7fc5e, b/181143772) - Rozwiązaliśmy problem, który wymagał, aby aplikacja jawnie zależała od kodu lifecycle-common-java8 (I8b8c8)
Znane problemy
- W
SignInTemplate
zamiast ikony „Enter” na klawiaturze ekranowej pojawia się ikona wyszukiwania, gdy użytkownik chce potwierdzić wpisany tekst. Aby obejść ten problem, użytkownicy mogą korzystać z klawiatury telefonu, która aktywuje się, gdy zaznaczone jest pole wprowadzania. - W Androidzie Auto w wersji 6.5 wywołania zwrotne przesuwania i powiększania w
SurfaceCallback
mogą być nieprawidłowo wywoływane w przypadku niektórych gestów dotykowych.
Testowanie aplikacji samochodowej w wersji 1.0.0
Wersja 1.0.0-alpha01
24 marca 2021 r.
Usługa androidx.car.app:app-testing:1.0.0-alpha01
została zwolniona. Wersja 1.0.0-alfa01 zawiera te zatwierdzenia.
To pierwsza wersja Jetpacka z biblioteki testów zamkniętych, które były wcześniej dostępne. Informacje o tym, jak używać tej biblioteki w testach, znajdziesz w przykładach.
Nowe funkcje
- Kontrolery klas modelu zostały usunięte. Moduły pobierania modeli są teraz częścią publicznej platformy interfejsu API, która umożliwia weryfikowanie wartości ustawionych w kreatorze.
- Poprzednia wartość
CarAppServiceController
została zastąpiona nową funkcjąSessionController
w celu testowania logiki dotyczącej czasu trwania połączenia z urządzeniami z góry.
Wersja 1.0.0
Wersja 1.0.0
21 kwietnia 2021 r.
Usługa androidx.car.app:app:1.0.0
została zwolniona. Wersja 1.0.0 zawiera te zatwierdzenia.
Główne funkcje 1.0.0
- Na początku kwietnia ogłosiliśmy, że można zacząć publikować aplikacje w kanale produkcyjnym za pomocą
androidx.car.app:app:1.0.0-rc01
. Biblioteka aplikacji samochodowych w wersji 1.0.0 jest teraz stabilna i jest w pełni zgodna z Androidem Auto 6.1 i nowszymi wersjami. - Więcej informacji o tworzeniu aplikacji do nawigacji, parkowania i ładowania na Androidzie Auto za pomocą biblioteki znajdziesz w przewodniku dla programistów.
Poprawki błędów
- Naprawiono wyjątek, który występował, gdy podczas uruchamiania był wyskakiwany element
Screen
(70aae1, b/184664896). - Rozwiązaliśmy problem, który powodował, że po wartości
ON_DESTROY
obiektuScreen
(0ceecb, b/183696617) występujeON_DESTROY
na elemencieSession
.
Wersja 1.0.0-rc01
24 marca 2021 r.
Usługa androidx.car.app:app:1.0.0-rc01
została zwolniona. Wersja 1.0.0-rc01 zawiera te zatwierdzenia.
Poprawki błędów
- Naprawiliśmy błąd w warunkach wyścigu, który powodował, że usługa
NavigationManagerCallback#onStopNavigation
była wywoływana po usunięciu wywołania zwrotnego. Dzieje się tak, jeśli wywołanie zwrotne zostało usunięte przed faktycznym uruchomieniem wykonawcy wywołania zwrotnego (I7fc5e, b/181143772) - Rozwiązaliśmy problem, który wymagał, aby aplikacja jawnie wiązała się z zależnością od interfejsu
lifecycle-common-java8
(I8b8c8) - Naprawiono błąd
NullPointerException
zgłaszany, gdy aplikacja odbiera wywołaniestopNavigation
, gdy usunął już to wywołanie zwrotne (Ib8b89, b/181143772). - Poprawki pozwalające nie wysyłać wywołań do aplikacji, jeśli jej cykl życia nie jest przynajmniej w stanie
CREATED
(I86965, b/179800224, b/177921120) - Rozwiązaliśmy problem, który powodował, że nieprawidłowy interfejs API min. określony w pliku manifestu aplikacji powodował błąd ANR na hoście. (Iffedd, b/174231592)
Wersja 1.0.0-beta01
24 lutego 2021 r.
Usługa androidx.car.app:app:1.0.0-beta01
została zwolniona. Wersja 1.0.0-beta01 zawiera te zatwierdzenia.
To pierwsza wersja Jetpacka z wcześniej zamkniętej biblioteki źródłowej. Jest zgodna z Androidem Auto w wersji 6.1 lub nowszej. Szczegółowe informacje o tworzeniu aplikacji samochodowych przy użyciu biblioteki znajdziesz w przewodniku dla programistów.
Nowe funkcje
- Wprowadziliśmy
GridTemplate
, za pomocą którego aplikacja może wyświetlać listę elementów interfejsu w układzie siatki. - Wprowadzenie metody
CarAppService.createHostValidator
do sprawdzania, czy połączenie z hostem pochodzi z zaufanego źródła (np. z Androida Auto). - Dodano interfejs API
CarAppExtender.Builder.setColor
. (b/174231592)
Poprawki błędów
- Rozwiązaliśmy problem, który powodował, że przy sekwencyjnym wyskakiwaniu ekranu wznawiano nieprawidłowe działanie
Screen
. (B/177590791)