Aplikacja samochodowa
Najnowsza aktualizacja | Wersja stabilna | Kandydat do publikacji | Wersja Beta | Wersja alfa |
---|---|---|---|---|
17 kwietnia 2024 r. | 1.2.0 | 1.4.0-rc02 | - | 1.7.0-alfa02 |
Deklarowanie zależności
Aby dodać zależność z biblioteką 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:
Odlotowy
dependencies { implementation "androidx.car.app:app:1.2.0" // For Android Auto specific functionality implementation "androidx.car.app:app-projected:1.2.0" // For Android Automotive specific functionality implementation "androidx.car.app:app-automotive:1.2.0" // For testing testImplementation "androidx.car.app:app-testing:1.2.0" }
Kotlin
dependencies { implementation("androidx.car.app:app:1.2.0") // For Android Auto specific functionality implementation("androidx.car.app:app-projected:1.2.0") // For Android Automotive specific functionality implementation("androidx.car.app:app-automotive:1.2.0") // For testing testImplementation("androidx.car.app:app-testing:1.2.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 znajdziesz nowe wydania lub masz pomysły na ulepszenie tej biblioteki. Zanim utworzysz nową bibliotekę, przejrzyj problemy z tą biblioteką. Możesz oddać głos w ramach istniejącego problemu, klikając przycisk gwiazdki.
Więcej informacji znajdziesz w dokumentacji narzędzia Issue Tracker.
Wersja 1.7
Wersja 1.7.0-alfa02
17 kwietnia 2024 r.
Aplikacja androidx.car.app:app-*:1.7.0-alpha02
została zwolniona. Wersja 1.7.0-alpha02 zawiera te zatwierdzenia.
Nowe funkcje
- W przypadku szablonów opartych na mapie dodano wycofane flagi, które będą obsługiwane przez szablon
MapWithContent
.
Zmiany w interfejsie API
- Wycofaj stare
MapTemplate
,RoutePreviewNavigationTemplate
,PlaceListNavigationTemplate
i zachęć do korzystania z nowychMapWithContentTemplate
(Ib0a08)
Wersja 1.7.0-alfa01
3 kwietnia 2024 r.
Aplikacja androidx.car.app:app-*:1.7.0-alpha01
została zwolniona. Zmieniliśmy nasz schemat obsługi wersji biblioteki, aby pasował do aktywnej wersji CarApi. Dzięki temu można uniknąć nieporozumień co do schematu nazewnictwa na podstawie opinii deweloperów. W związku z tym pominiemy wersje 1.5 / 1.6 bezpośrednio przechodzące do wersji 1.7 w wersji 1.7.0-alpha01 zawierającej te zatwierdzenia.
Nowe funkcje
- Mapowanie z zawartością: nowy szablon o nazwie
MapWithContent
, który obsługuje listę, siatkę, panel i wiadomość jako zawartość wewnątrz mapy.- Szablony mapy
RoutePreview
,PlaceListNavigation
zostały wycofane. - Zaktualizowaliśmy przykładowe aplikacje, aby zaprezentować funkcje wycofanych szablonów korzystających z szablonu
MapWithContent
.
- Szablony mapy
- Conversation Item: nowe interfejsy API do wyświetlania rozmów (komunikatorów, SMS-ów) i odczytu przez Asystenta w samochodzie.
- Vehicle Dimensions (Wymiary pojazdu): nowy interfejs API do pobierania danych o pomiarach pojazdu (obecne dane w AAOS).
Zmiany w interfejsie API
- Oznacz obraz bardzo małego wiersza jako eksperymentalny (I5184b)
- Dodano interfejs API
CarInfo#fetchExteriorDimensions
, który umożliwia dostęp do informacji o wymiarach zewnętrznych pojazdu, takich jak wysokość, szerokość itp. (Ia40c5). - Usunięto tag
ExperimentalAPI
zMapWithContentTemplate
(I66db8) - Zaktualizuj parametr
GridItem#setTitle
, aby możliwy do uzyskania wartości null. (I3d610) - Interfejs
GetHeader
API nie wymaga interfejsu API 7, ponieważ jest zgodny wstecznie (I8c812) - Dodaj obsługę
Header
wListTemplate
, wycofajheaderAction
,headerTitle
,actionStrip
(I7ae01) - Wycofaj
title
,headerAction
,actionStrip
zGridTemplate
i dodaj obsługęHeader
(I41a9c) - Usunięcie wymagań na poziomie 7 dla eksperymentalnych interfejsów API: plakietka, rozmiar produktu (
GridTemplate
) i metody pobierania/setek kształtu obrazu oraz metody pobierania/ustawiania plakietki (GridItem
). (Id71eb) - Wycofaj:
title
,headerAction
,actionStrip
wPaneTemplate
, dodaj nową obsługęHeader
(I23154) - Dane telemetryczne Media Center zostały zmienione z
BroadcastReceiver
na działanie niestandardowe przeglądania. (I4185f) - Dodano obsługę atrybutu
Header
wMessageTemplate
. Wycofano obsługę systemówActionStrip
,headerAction
ititle
. (Ie2de8) - Modyfikowanie stałej widoczności alertów (Icf8a8)
- Usuń atrybut
isLoading
z szablonu nadrzędnego (I651e6) - Dodaj dodatki, które informują aplikacje multimedialne o głównych parametrach interfejsu użytkownika (I85ca2)
- Dodaj funkcję analityki centrum mediów do
MediaExtensions
(I7ce28) - Dodano opcję dla bardzo małego obrazu w wierszach. (I72c03)
Poprawki błędów
- Zaktualizuj plik javadoc w
ConversationItem
, aby wskazać, że wiadomości powinny być sortowane w kolejności od najstarszej do najnowszych. (I77a2a) - Zaktualizuj logikę obcinania
ListTemplate
, aby usunąć najstarsze wiadomości z grupyConversationItem
(Ie0a61)
Wersja 1.4
Wersja 1.4.0-rc02
13 grudnia 2023 r.
Aplikacja 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 przeglądarce
ConversationItem
, aby określić, że wiadomości powinny być sortowane od najstarszego do najnowszego (I77a2a). - Zaktualizuj logikę obcinania
ListTemplate
, aby usunąć najstarsze wiadomości z grupyConversationItem
(Ie0a61)
Wersja 1.4.0-rc01
1 listopada 2023 roku
Wersja androidx.car.app:app-*:1.4.0-rc01
została opublikowana bez istotnych zmian. Wersja 1.4.0-rc01 zawiera te zatwierdzenia.
Wersja 1.4.0-beta02
20 września 2023 r.
Aplikacja androidx.car.app:app-*:1.4.0-beta02
została zwolniona. Wersja 1.4.0-beta02 zawiera te zatwierdzenia. To prawie identyczna wartość, jak w przypadku wersji beta01, ale zmniejsza wymóg compileSdk
do 33.
Poprawki błędów
- Naprawiono błąd, który powodował, że ekrany wczytywania na kartach nie były prawidłowo wyświetlane. (cae860)
Wersja 1.4.0-beta01
9 sierpnia 2023 r.
Aplikacja 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 pakietu buildSdk34, który jest nadal w wersji deweloperskiej. Wersja 1.4-beta02 rozwiąże ten problem. Możesz też dodać interfejs
android.suppressUnsupportedCompileSdk=34
do plikusettings.gradle
projektu, aby bezpiecznie tymczasowo wyłączyć ostrzeżenie.
Nowe funkcje
- Dostosuj renderowanie mapy Klaster w aplikacjach nawigacyjnych
- Nowy szablon karty dla ulepszonego układu i łatwości obsługi aplikacji
- Obsługa adaptacyjnych limitów zadań
- Dodatkowe działania na elementach listy
Zmiany w interfejsie API
- Zobacz wersję alfa02
Wersja 1.4.0-alfa02
26 lipca 2023 r.
Aplikacja androidx.car.app:app-*:1.4.0-alpha02
została zwolniona. Wersja 1.4.0-alpha02 zawiera te zatwierdzenia.
- Wersja alfa02 ma być przygotowaniem do nadchodzącej wersji beta 01.
Nowe funkcje
- Renderowanie map w klastrze instrumentów dla aplikacji nawigacyjnych
- Dodano karty aplikacji, aby zwiększyć możliwości układu
- Dodano opcje renderowania szablonu listy / siatki
- Dodano nowe kategorie Pogoda i Komunikacja.
- Przeniesienie kilku interfejsów API do następnej wersji CarApi 7
Zmiany w interfejsie API
- Dodawanie pól multimedialnych do tabeli
CarMessage
(I5aaf6) - Dodaje działania niestandardowe do elementu
ConversationItem
w bibliotece aplikacji samochodowych (Ie5ed6) - dodać dodatki wskazujące, że element multimedialny jest odtwarzany w formacie imersyjnym, i zaprezentuj logo tego formatu treści (Icb5bb).
- Dodano nowy typ działania (
ActionsConstraints
API) do obsługi przycisku tworzenia wiadomości. (I31661) set/getTemplate
, wykonawca:set/get ContentTemplate
(Ica036)- Parametr szablonu będzie teraz mieć wartość
@NonNull
. Zaktualizowano dokumentację interfejsu APIMapWithContentTemplate
(I0f8ed) - Usuwa tag
@ExperimentalCarApi
z działańListTemplate
w wersji CAL 1.4 (I2cfcb) - Usuwa tag
@ExperimentalCarApi
dotyczący regułyTabTemplate
(Ifcb82) - Usuń adnotacje
@ExperimentalCarApi
z dodatkowych działań i dekoracji wierszy (I8487e) - Dodaje identyfikator treści aktywnej karty do
TabTemplate
i wycofuje stan aktywności kart (I96932) - Dodaj właściwość
ItemImageShape
doGridTemplate
(Ibf431) - Dodaj do elementu
GridTemplate
właściwośćItemSize
, która kontroluje rozmiar elementów siatki odpowiednio do małych, średnich i dużych zasobników. (Icdb3b) - Otwórz dostęp do interfejsu API dla programistów, aby uzyskać kopię bieżącego stosu ekranu. (I48107)
- Dodaje kategorię aplikacji pogodowych do Car App Library (I2be44)
- Dodaje kategorię połączeń aplikacji do Biblioteki aplikacji samochodowych (Icab33)
- Zastąpiono metodę
GridItem.Builder#setBadge()
przeciążonymi metodamisetImage()
(Id2000) - Dodawanie właściwości ikony do plakietki (I629b2)
- Dodaj metodę ustawiania koloru tła plakietki w formie kropki (I6411c)
- Dodaj właściwość Plakietkę do pliku
GridItem
, aby umożliwić wyświetlanie plakietki nad obrazem w usłudzeGridItem
. (I95de7) - Dodano eksperymentalny obiekt plakietki reprezentujący plakietkę wyświetlaną na obrazie. (I9878d)
Wersja 1.4.0-alfa01
22 lutego 2023 roku
Aplikacja androidx.car.app:app-*:1.4.0-alpha01
została zwolniona. Wersja 1.4.0-alpha01 zawiera te zatwierdzenia.
Zmiany w interfejsie API
- Dodaje działania najwyższego poziomu do elementu
GridTemplate
w Bibliotece aplikacji samochodowych (Id0191) - Dodaje działania najwyższego poziomu do elementu
ListTemplate
w bibliotece aplikacji samochodowych (I9efab) - Dodaj dodatki, które łączą podtytuł lub opis elementu multimedialnego z innymi elementami multimedialnymi (Ic84bf).
- Zaktualizuj poziom API dla działań na wierszu na poziom 6. (Ie0a69)
- Dodawanie wywołań zwrotnych wiadomości do A4C (Ie3986)
Poprawki błędów
- Dodaj brakujące odwołania do dokumentu Java w polu
CarMessage
. (I5db1c) - Zastąp
equals()
ihashCode()
dla:ConversationItem
iCarMessage
(I6fd10) - Popraw weryfikację atrybutu
ConversationItem.mMessages
(wymagany jest inny niż zerowy, pole niepuste (Iafc51) - Dodawanie adnotacji
@Keep
do pólConversationItem
(I5d250) - Zaktualizuj dokumenty Java na potrzeby dekoracji wierszy i działań dodatkowych. (I000b6)
Wersja 1.3
Wersja 1.3.0-rc01
7 grudnia 2022 r.
Aplikacja androidx.car.app:app-*:1.3.0-rc01
została zwolniona. Wersja 1.3.0-rc01 zawiera te zatwierdzenia.
- Drobne poprawki błędów w wersji beta01. Bez dużych zmian.
Wersja 1.3.0-beta01
7 września 2022 roku
Opublikowano 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 mogą teraz trafiać do Sklepu Play przy użyciu interfejsu API poziomu 5 (zobacz nasz przewodnik dla programistów). Funkcje z adnotacjami z interfejsem API na poziomie 5 lub niższym są zgodne zarówno z Androidem Auto 8.1, jak i nowszymi, a także z hostem aplikacji Google Automotive w wersji 1.4 lub nowszej.
Nowe funkcje
Oprócz funkcji dodanych w Bibliotece aplikacji samochodowej w wersji 1.3.0-alfa01 w wersji beta01 dodaliśmy te funkcje (wszystkie te funkcje obejmują wyłącznie zmiany po stronie hosta bez wprowadzania zmian w interfejsie API):
- Pływający pasek nawigacyjny będzie widoczny nawet wtedy, gdy użytkownik będzie korzystać z ekranu wyboru na podstawie mapy w aplikacjach
PlaceListNavigationTemplate
,RoutePreviewNavigationTemplate
iMapTemplate
. Można to zrobić, aktualizując informacje nawigacyjne wNavigationManager.updateTrip()
. - Włącz przycisk polecenia z atrybutem
FLAG_DEFAULT
, aby zobaczyć animację czasu oczekiwania. Ten przycisk będzie klikany domyślnie po upływie limitu czasu oczekiwania. ([API 5 - All Templates]
) - Podpis tekstu
Row
nie jest skracany, gdy samochód jest zaparkowany, ale skracany do 2 wierszy podczas jazdy. ([API 5 - All Templates]
) - Stan wyłączonej obsługi dla usług
Action
,Toggle
,Row
([API 5 - All Templates]
)
Zmiany w interfejsie API
- Rozluźnij ograniczenia na liście
MapTemplate
, aby obsługiwać listy z możliwością wyboru (I961) - Usuń ograniczenie dotyczące działań nagłówka, aby umożliwić używanie ikon niestandardowych. (Iad28f)
- Dodaj ograniczenie
setOnClickListenerAllowed()
do zakresuActionsConstraints
. Tam, gdzie zezwalałAction
na ustawianieOnClickDelegate()
jako działań z wyjątkiem standardowych typów ikon. (TYPE_APP_ICON
,TYPE_BACK
iTYPE_PAN
) (I3c745)
Poprawki błędów
- Dodaliśmy zgodność hosta szablonu Android Automotive w wersji 1.4 lub nowszej z zakrzywionymi wyświetlaczami (
[Host change]
).
Wersja 1.3.0-alfa01
27 lipca 2022 roku
Opublikowano 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-alpha01 zawiera te zatwierdzenia.
Funkcje opisane w interfejsie API na poziomie 5 są zgodne z Androidem Auto w wersji 7.9 i nowszych.
Nowe funkcje
- Poziom API 5: nowy
MapTemplate
, który może być używany przez aplikacje nawigacyjne do wyświetlania zawartości panelu lub listy wraz z mapą (If5826, If44b8) - API Poziom 5: nowy interfejs API
CarAudioRecord
umożliwiający nagrywanie dźwięku z mikrofonu pojazdu hosta (I5e71a) - API Level 5: nowy interfejs API
SuggestionManager
pozwalający aplikacjom na dostarczanie sugestii do hosta (I5c103) - API Level 5: nowy interfejs API
Alert
do wyświetlania w powiadomieniach kontekstowych na urządzeniuNavigationTemplate
(I163a7, I5ad70) - Poziom API 5: nowe komponenty
Header
iMapController
ułatwiające ponowne użycie w różnych szablonach (If5826) - Dodano kategorię
androidx.car.app.category.POI
do włączania aplikacji z ważnymi miejscami (i wycofano funkcjeandroidx.car.app.category.PARKING
iandroidx.car.app.category.CHARGING
) (I59da1)
Zmiany w interfejsie API
- Poziom 5: nowa metoda
onClick
w interfejsieSurfaceCallback
, która umożliwia interakcję z mapą za pomocą dotknięcia (Ia9777) - Poziom API 5: nowe flagi
Action.FLAG_IS_PERSISTENT
iAction.FLAG_DEFAULT
do opisywania obiektówAction
(I96318, I5ad70) - Poziom API 5: nowy stan włączenia/wyłączenia komponentów
Action
,Row
iToggle
(obsługa hosta dostępna w okolicach wersji biblioteki 1.3.0-beta01) (Id8a09) - Poziom API 5: faworyzuj nowy komponent
Header
za pomocą metodysetHeader
w metodachPlaceListNavigationTemplate.Builder
iRoutePreviewNavigationTemplate.Builder
, wycofując istniejące metodysetTitle
isetHeaderAction
(I30e6a) - Poziom API 5: nowa metoda
setOnContentRefreshListner
wPlaceListMapTemplate.Builder
iPlaceListNavigationTemplate.Builder
do użycia z implementacjami nowego interfejsuOnContentRefreshListner
. - Poziom API 5: nowe
setTripText
isetTripIcon
wTravelEstimate.Builder
w celu dostosowania karty prognozy podróży (Idcc6d, Ic620d) - Dodaj obsługę komponentów
CarIconSpan
w tytule elementuPaneTemplate
(Ia1ee0) - Dodano obsługę znaczników
CarIconSpan
w tytule i tekście elementuRow
(Ic1e3c) - Na mapie
ActionStrip
można teraz dodać maksymalnie 4 działania (If3522) - Aktualizacja poziomu interfejsu Car App API na 5 (I26b8e)
- Nagłówki i tytuły są teraz opcjonalne w przypadku tych języków:
PlaceListMapTemplate
,PlaceListNavigationTemplate
,RoutePreviewNavigationTemplate
,GridTemplate
,ListTemplate
,LongMessageTemplate
,MessageTemplate
,PaneTemplate
iSignInTemplate
(I2078d, Icadde)
Poprawki błędów
- Zaktualizowano
PaneTemplate
reguł rozmiaru obrazu, tak aby był on kwadratowym ramką ograniczającą (Idd72e) - Naprawiono wyjątek, który występował, gdy stos ekranu został zmodyfikowany po
State.DESTROYED
. (I3c8eb) - Dodano kontrolę null na potrzeby pobierania ikony aplikacji (I3f710).
- Zaktualizuj interfejs Car Hardware API, aby domyślnie używał
STATUS_UNKNOWN
zamiastSTATUS_UNAVAILABLE
(Ic9444) - Przed utworzeniem platformy sprawdź, czy jest ona wyświetlana (Ice027a)
- Popraw błąd
CarValue.equals()
związany zSTATUS_UNIMPLEMENTED
(I24451)
Wersja 1.2
Wersja 1.2.0
9 listopada 2022 r.
Aplikacja androidx.car.app:app-*:1.2.0
została zwolniona. Wersja 1.2.0 zawiera te zatwierdzenia.
- To wersja stabilizacji, która nie zawiera żadnych zmian w porównaniu z wersją 1.2.0-rc01.
Wersja 1.2.0-rc01
23 marca 2022 r.
Aplikacja androidx.car.app:app-*:1.2.0-rc01
została zwolniona. Wersja 1.2.0-rc01 zawiera te zatwierdzenia.
- To wersja stabilizacji, która nie wprowadza żadnych zmian w interfejsie API w porównaniu z wersją
v1.2.0-beta02
. Dodaliśmy nowe funkcje eksperymentalne (poziom interfejsu API 5), które są przeznaczone w przyszłych wersjach Androida Auto i Androida Automotive.
Poprawki błędów
- Naprawiono wyjątek, który występował, gdy stos ekranu został zmodyfikowany po
State.DESTROYED
. (I3c8eb) - Zaktualizowaliśmy interfejs API
CarSensors
, aby wskazać, że nie są one zaimplementowane dla AAOS (Idd57b) - Zaktualizowano
PlaceListMapTempalte.Builder#setCurrentLocationEnabled
, aby wskazać, że dla tej funkcji wystarczy ACCESS_COARSE_LOCATION (I510c2). - Numer zjazdu został opcjonalny w przypadku typów ronda z ruchem kątowym (Ife7d1)
Wersja 1.2.0-beta02
26 stycznia 2022 r.
Aplikacja androidx.car.app:app-*:1.2.0-beta02
została zwolniona. Wersja 1.2.0-beta02 zawiera te zatwierdzenia.
Aplikacje samochodowe utworzone z użyciem tej wersji biblioteki kierowanej na platformę Android Automotive OS
można teraz publikować w kanale testów otwartych Sklepu Play. Więcej szczegółów znajdziesz w przewodniku dla programistów.
Funkcje opisane w interfejsie API na poziomie 4 i niższym są zgodne zarówno z Android Auto
w wersji 7.2, jak i nowszym, a także z nową platformą Android Automotive OS
. Zastrzeżenia znajdziesz w sekcji Known Issues
poniżej.
Zmiany w interfejsie API
- Dodano eksperymentalny interfejs API
setOnContentRefreshListener
do szablonów ważnych miejsc (I6bf22)
Poprawki błędów
- Rozwiązaliśmy problem z wyciekiem pamięci w
CarAppService
podczas usuwania powiązań hosta w samochodzie. (I5c9ca, b/203594731) - Zaktualizowaliśmy dokument javadoc dotyczący
CarAppActivity
, aby uwzględnić wymagania dotyczące trybu uruchamiania trybu singleTask (Id2f95). - Zmniejsza zakłócenia wizualne przy wznowieniu. (Iff7e0)
Znane problemy
- Mapy
ActionStrip
w regionachPlaceListNavigationTemplate
iRoutePreviewNavigateTemplate
zaczną być dostępne w następnych wersjachAndroid Auto
iAndroid Automotive OS
.
Wersja 1.2.0-alfa02
15 grudnia 2021 roku
Aplikacja androidx.car.app:app-*:1.2.0-alpha02
została zwolniona. Wersja 1.2.0-alpha02 zawiera te zatwierdzenia.
Funkcje opisane w interfejsie API 4 zostały uaktualnione z eksperymentu na wersję stabilną.Są to między innymi mapy ActionStrip
w PlaceListNavigationTemplate
i RoutePreviewNavigateTemplate
, obraz CarIcon
w klasach Pane
, QRCodeSignInMethod
oraz możliwość ustawiania wskazówek dotyczących renderowania (np. flag) w komponentach Action
.
Nowe funkcje
- W Androidzie Auto w wersji 7.1 i nowszych limit produktów w aplikacji
Pane
został zwiększony z 2 do 4.
Zmiany w interfejsie API
- Do metody
CarUnit
(I36a3b) dodano eksperymentalną metodętoString()
Poprawki błędów
- Usunięto awarię, która występowała w komponencie
CarAppPermissionActivity
, gdy wywołanie zwrotne nie trwało (If9823) - Zmieniono domyślny limit listy w przypadku
Pane
na 4 (I0068b)
Wersja 1.2.0-alfa01
3 listopada 2021 r.
Aplikacja androidx.car.app:app-*:1.2.0-alpha01
została zwolniona. Wersja 1.2.0-alpha01 zawiera te zatwierdzenia.
Wszystkie nowe funkcje v1.2.0
(API 4 i nowsze) są obecnie eksperymentalne i kierowane na przyszłe wersje Androida Auto i systemu operacyjnego Android Automotive. Więcej szczegółów znajdziesz w przewodniku dla programistów.
Zmiany w interfejsie API
- Wprowadzono eksperyment w interfejsie API
AutomotiveCarInfo
. (Ia13e5). - Dodano interfejs Car App Library API na poziomie 4 (I2a2e7).
- Poziom API 4: dodano obsługę konfigurowania
CarIcon
wPane
(Ifcc12) - API Poziom 4: dodano metodę logowania za pomocą kodu QR (Ib623e)
- Poziom API 4: dodano element set/getFlags do:
Action
(Ic03ab) - API Level 4: dodano obsługę przesuwania i powiększania w
PlaceListNavigationTemplate
orazRoutePreviewNavigationTemplate
(I9d8a3)
Poprawki błędów
- Poziom API 4. Dodawanie mechanizmu umożliwiającego aplikacjom wysyłanie aktualizacji lokalizacji do hosta w samochodzie (I3bad3)
- Naprawiono problem, który powodował, że logika weryfikacji hosta nie mogła prawidłowo znajdować uprawnienia TEMPLATE_RENDERER (I62618)
Wersja 1.1.0
Wersja 1.1.0
15 grudnia 2021 roku
Aplikacja androidx.car.app:app-*:1.1.0
została zwolniona. Wersja 1.1.0 zawiera te zatwierdzenia.
To wersja stabilizacji, która nie wprowadza żadnych zmian w porównaniu z wersją v1.1.0-rc01
. Aby dowiedzieć się więcej o nowych funkcjach biblioteki aplikacji samochodowych, zapoznaj się z informacjami o wersji aplikacji v1.2.0-alpha02
.
Ważne zmiany od wersji 1.0.0
- Poziom API 2:
SignInTemplate
iLongMessageTemplate
, który może służyć do logowania się, gdy pojazd jest zaparkowany - API Poziom 2: obsługa interaktywności map w obrębie
NavigationTemplate
- Poziom 2 interfejsu API: obsługa wielu długości tekstu, dzięki której aplikacje mogą dostarczać różne wersje ciągu tekstowego do wyświetlenia w zależności od rozmiaru ekranu samochodu.
- Poziom API 3:
CarHardwareManager
który może służyć do wysyłania zapytań dotyczących danych sprzętowych pojazdu, takich jak model i marka, poziom paliwa oraz inne czujniki.
Wersja 1.1.0-rc01
3 listopada 2021 r.
Aplikacja androidx.car.app:app-*:1.1.0-rc01
została zwolniona. Wersja 1.1.0-rc01 zawiera te zatwierdzenia.
To wersja stabilizacji, która nie wprowadza żadnych zmian w interfejsie API w porównaniu z wersją v1.1.0-beta01
. Dodaliśmy nowe funkcje eksperymentalne (poziom interfejsu API 4), które są przeznaczone w przyszłych wersjach 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
Aplikacja 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 i nowsze) są w pełni zgodne z Androidem Auto w wersji 6.7 lub nowszej. Więcej szczegółów znajdziesz w przewodniku dla programistów.
Zmiany w interfejsie API
- Usunięto interfejs
Manager
jako interfejs publiczny (Ie381b) - Dodano możliwość ustawiania niestandardowego tła marki w prośbie o uprawnienia (I74b76).
- Dodano
ScreenManager.getStackSize
(I0b16a) - Usunięto konstruktor
ScreenController
, który jawnie pobieraTestCarContext
(Iefebc)
Poprawki błędów
- Dodano kontrolę poziomu interfejsu API podczas tworzenia
CarHardwareManager
(I48f9b). - Dodano testy pod kątem nieprawidłowego użycia funkcji
CarSpan
w interfejsie API (I65ae6) - Naprawiono błąd, który powodował, że oznaczenie
Screen
jako zakończone podczas tworzenia powodowało jego uszkodzenie (I81b13) - Naprawiono błąd polegający na tym, że system
CarNotificationManager.notify
rejestrował błąd dotyczący AutomotiveOS, jeśli w interfejsieCarAppExtender
były dostępne działania z ikonami (I3633d) - Dodano metodę uzgadniania połączenia dla aplikacji i hosta w celu określenia wersji interfejsu API (I7d6f8).
Wersja 1.1.0-alfa02
21 lipca 2021 r.
Aplikacja androidx.car.app:app-*:1.1.0-alpha02
została zwolniona. Wersja 1.1.0-alpha02 zawiera te zatwierdzenia.
Nowe funkcje
- Poziom API 3: dodano funkcję
CarHardwareManager
, która może służyć do wysyłania zapytań dotyczących danych sprzętowych pojazdu takich jak model i marka, poziom paliwa oraz inne czujniki. Obecnie ta funkcja jest dostępna tylko w Androidzie Auto w wersji 6.7 lub nowszej na kanale testów otwartych. Aby przetestować to rozwiązanie w środowisku stacjonarnym, wymagana jest nowa wersja aplikacjiDesktop Head Unit
, która zostanie udostępniona oddzielnie. Sprawdzaj regularnie stronę Testowanie aplikacji na Androida dla samochodów, aby dowiedzieć się, kiedy pojawi się nowa wersja. - Zapoznaj się z przewodnikiem dla programistów i dokumentacją biblioteki, aby uzyskać dodatkowe informacje i wskazówki projektowe dotyczące używania tych funkcji w hostach samochodowych zgodnych z interfejsem API poziomu 3.
Zmiany w interfejsie 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 wyświetlać konstruktory (Iabf22) - Usunięto
PinSignInMethod.Builder
iProviderSignInMethod.Builder
(I9f0cb) - Dodano funkcję „setCarAppResult()”, która umożliwia używanie aplikacji opartych na szablonie w AAOS (I37741).
- Interfejs
CarHardware
z adnotacjami i@MainThread
. (Ib2f85) - Zmieniono nazwę
OnCarDataListener
naOnCarDataAvailableListener
(I518ca) - Zaktualizowano nazwy metod
CarInfo
,Speed
,Mileage
i dokument javadoc. (I86672) - Nazwa elementu
Toll
została zmieniona naTollCard
. (I3e7c8) - Usunięto wycofaną instancję
PinSignInMethod.getPin
, która została zastąpiona przezPinSignInMethod.getPinCode
(I996ce) - Usunięto tekst
OnInputCompletedListener
(zastąpiono fragmentemInputCallback
). (Ib5be1) - Zmieniono
PinSignInMethod
naCharSequence
zamiastString
(I275d5)
Poprawki błędów
- Poprawki Javadoc dotyczące sprzętu samochodowego. (I2abbc)
Wkład z zewnątrz
Znane problemy
- W
SignInTemplate
użycieInputSignInMethod
może spowodować wyświetlenieNullPointerException
w hoście samochodowym. Wyjaśnimy to w następnej wersji biblioteki. Aby obejść ten problem, dodaj ten wiersz do konfiguracji Proguard swojej aplikacji:-keep class androidx.car.app.model.signin.InputSignInMethod { *; }
Wersja 1.1.0-alfa01
16 czerwca 2021 r.
Opublikowano 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
. Wersja 1.1.0-alpha01 zawiera te zatwierdzenia.
Nowe funkcje
- Poziom API 2: nowe
SignInTemplate
iLongMessageTemplate
, które mogą służyć do logowania się, gdy pojazd jest zaparkowany. - API Poziom 2: nowa obsługa interaktywności z mapami w regionie
NavigationTemplate
- Poziom API 2: nowa obsługa wielu długości tekstu, dzięki której aplikacje mogą dostarczać różne wersje ciągu tekstowego do wyświetlenia w zależności od rozmiaru ekranu samochodu.
- W przewodniku dla programistów i w bibliotece Javadoc znajdziesz dodatkowe informacje i wskazówki projektowe dotyczące używania tych funkcji w hostach samochodowych zgodnych z interfejsem API poziomu 2.
Zmiany w interfejsie API
- Ustawienie wszystkich metod interfejsu
*Callback
jako domyślnych i zmianę nazw naOnRequestPermissionsCallback
->OnRequestPermissionsListener
(Ib3ec9) - Zaktualizowano
androidx.car.app.hardware
klasy, aby usunąć zbędne konstruktory i klasy parametrów. (I67beb) - Dodano klasy
androidx.car.app.hardware
zapewniające dostęp do danych dotyczących samochodu, takich jak poziom paliwa, poziom naładowania baterii i prędkość. (Iff3c9) - Dodano obsługę
ActionStrip
wMessageTemplate
(Ida657) - Element
setLoading
został dodany do listyMessageTemplate
. (I2a4b5) - Zmieniono nazwę
ConnectionToCar
naCarConnection
(Ife9bd) - Zmieniono
NavigationTemplate
, aby zwracał wyraźnyPanModeDelegate
(I13877) - Zaktualizowano kolejność parametrów dla:
CarContext.requestPermissions
(Ib890a) - Zaktualizowano klucz metadanych, aby określić minimalny poziom interfejsu API samochodu na
androidx.car.api.minCarApiLevel
(Ib0d41) - Utworzono interfejs API, który umożliwia obserwowanie stanu połączenia z samochodem (Ifc935)
- Dodano obsługę ustawiania przełącznika dla elementu
Action
oraz dodanie typu przesuwaniaAction
(Ica6af) - Utworzono:
CarNotificationManager
, aby umożliwić wysyłanie powiadomień w samochodzie (I10d7a) - Dodano
ConstraintManager
do podawania limitów list z hosta (I8690e) - Dodano interfejs API trybu przesuwania i paska działań mapy w
NavigationTemplate
(I77aa6) - Dodano interfejs API przesuwania i powiększania w
SurfaceCallback
dla aplikacji nawigacyjnych (Id5e9d). - Zaktualizowano:
CarAppApiLevel
do wersji 2 (Ic1540) - Dodano możliwość proszenia o uprawnienia z urządzenia
CarAppService
(I5421e). - Dodano adnotację
RequiresCarApi(2)
do interfejsu API wielotekstowego (Iacb62) - Dozwolone jest wiele wariantów tekstu w tytule szablonu półlisty (Ib8df7)
- Dodano nowy:
LongMessageTemplate
(wymagany Car API na poziomie 2) (Ic5cee)
Poprawki błędów
- Zmieniliśmy wymagania dotyczące rozmiaru zdjęć, by uwzględnić większe ekrany w samochodzie (I116dc)
- Niedozwolone jest dodawanie więcej niż 2 działań w treści szablonu (I32157)
- Sprawdzono wszystkie utworzone elementy
PendingIntent
w flagach zestawu biblioteki aplikacji samochodowych. (If84fe, b/186394900) - Zaktualizowano dokument javadoc, aby umożliwić zmianę tekstu w przeglądarce
Row
podczas odświeżania (If3f9c) androidx.activity:activity:1.2.0
jest teraz zależność od API (Id1cb9)- Wprowadziliśmy, że
SignInTemplate
iLongMessageTemplate
wymagają działań związanych tylko z parkowaniem, i zaktualizuj dokumentację, by zaznaczyć, że reklamy będą wyświetlane tylko po zaparkowaniu samochodu (Iddaa9). - Naprawiono wyjątek, który występował podczas uruchamiania elementu
Screen
podczas uruchamiania (Ifcf40, b/184664896) - Dozwolony niestandardowy kolor tekstu w
ForegroundCarColorSpan
(I69e59) - Naprawiono błąd, który powodował, że po obiekcie
ON_DESTROY
Screen
pojawia sięON_DESTROY
(I52e01, b/183696617)Session
- Zaktualizowano plik javadoc, gdy zezwalasz na ustawianie pozostałego czasu działania funkcji
TravelEstimate
na nieznany czas. (I99610, b/183632456) - Zaktualizowano
Action
, aby umożliwić obsługę parametruForegroundColorSpan
w tytule i dowolnego niestandardowego koloru tła (I578e4) - Nie wykonuj polecenia
NavigationManagerCallback#onStopNavigation
, jeśli wywołanie zwrotne zostało wyczyszczone przed wykonaniem działania wykonawcy (I7fc5e, b/181143772) - Rozwiązaliśmy problem, który wymagał, aby aplikacja jawnie przyjmowała zależność od pliku cyklu życia-Common-java8 (I8b8c8)
Znane problemy
- W
SignInTemplate
, gdy użytkownik chce potwierdzić wprowadzone dane, klawiatura ekranowa wyświetla ikonę wyszukiwania zamiast ikony „Enter”. Aby obejść ten problem, użytkownicy mogą skorzystać z klawiatury telefonu, która aktywuje się, gdy pole wprowadzania jest zaznaczone. - 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.
Test aplikacji samochodowych w wersji 1.0.0
Wersja 1.0.0-alfa01
24 marca 2021 r.
Aplikacja androidx.car.app:app-testing:1.0.0-alpha01
została zwolniona. Wersja 1.0.0-alpha01 zawiera te zatwierdzenia.
To pierwsza wersja Jetpacka z wcześniejszą biblioteką do testów zamkniętych. Zapoznaj się z przykładami wykorzystania tej biblioteki w testach.
Nowe funkcje
- Kontrolery klas modelu zostały usunięte. Pobierające modele są teraz częścią publicznej platformy interfejsu API, która umożliwia sprawdzanie wartości ustawionych w konstruktorach.
- Poprzedni
CarAppServiceController
został zastąpiony nowymSessionController
do testowania logiki związanej z czasem trwania połączenia z urządzeniami Hots.
Wersja 1.0.0
Wersja 1.0.0
21 kwietnia 2021 r.
Aplikacja androidx.car.app:app:1.0.0
została zwolniona. Wersja 1.0.0 zawiera te zatwierdzenia.
Główne funkcje wersji 1.0.0
- Na początku kwietnia ogłosiliśmy, że można zacząć publikować aplikacje w kanale produkcyjnym przy użyciu
androidx.car.app:app:1.0.0-rc01
. Samochodowa biblioteka aplikacji w wersji 1.0.0 jest teraz stabilna i w pełni zgodna z Androidem Auto 6.1 i nowszymi wersjami. - Zapoznaj się z przewodnikiem dla programistów, by dowiedzieć się, jak tworzyć z biblioteki aplikacje do nawigacji, parkowania i ładowania na Androida Auto.
Poprawki błędów
- Naprawiono wyjątek, który występował podczas uruchamiania elementu
Screen
podczas uruchamiania (70aae1, b/184664896). - Rozwiązaliśmy problem, który powodował, że po obiekcie
ON_DESTROY
Screen
pojawia sięON_DESTROY
(0ceecb, b/183696617).Session
Wersja 1.0.0-rc01
24 marca 2021 r.
Aplikacja androidx.car.app:app:1.0.0-rc01
została zwolniona. Wersja 1.0.0-rc01 zawiera te zatwierdzenia.
Poprawki błędów
- Naprawiono błąd warunkujący wyścig, w którym wywoływano funkcję
NavigationManagerCallback#onStopNavigation
po wyczyszczeniu wywołania zwrotnego. Dzieje się tak, jeśli wywołanie zwrotne zostało wyczyszczone, zanim wykonawca wywołania zwrotnego faktycznie został uruchomiony (I7fc5e, b/181143772) - Rozwiązaliśmy problem, który wymagał, aby aplikacja jawnie przyjmowała zależność od
lifecycle-common-java8
(I8b8c8) - Naprawiono błąd
NullPointerException
wywoływany, gdy aplikacja otrzymała wywołaniestopNavigation
po usunięciu wywołania zwrotnego (Ib8b89, b/181143772) - Usprawnienia uniemożliwiające wysyłanie wywołań aplikacji do aplikacji, jeśli jej cykl życia ma stan inny niż
CREATED
(I86965, b/179800224, b/177921120) - Naprawiono błąd związany z nieprawidłowym minimalnym interfejsem API określonym w pliku manifestu aplikacji, powodując błąd ANR na hoście. (Iffedd, b/174231592)
Wersja 1.0.0-beta01
24 lutego 2021 r.
Aplikacja androidx.car.app:app:1.0.0-beta01
została zwolniona. Wersja 1.0.0-beta01 zawiera te zatwierdzenia.
To pierwsza wersja biblioteki Jetpack, która wcześniej została zamknięta, i 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 element
GridTemplate
, którego aplikacja może używać do wyświetlania listy elementów interfejsu w układzie siatki. - Wprowadziliśmy metodę
CarAppService.createHostValidator
służącą do sprawdzania, czy połączenie z hostem pochodzi z zaufanego źródła (np. Android Auto). - Dodano interfejs API
CarAppExtender.Builder.setColor
. (b/174231592)
Poprawki błędów
- Naprawiono błąd polegający na tym, że nieprawidłowe działanie
Screen
było wznawiane podczas sekwencyjnego otwierania ekranów. (b/177590791)