Aplikacja samochodowa

Tworzenie aplikacji na podstawie szablonów na systemy operacyjne Android Auto i Android Automotive.
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.

Utwórz nowy numer

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 nowych MapWithContentTemplate (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.
  • 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 z MapWithContentTemplate (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 w ListTemplate, wycofaj headerAction, headerTitle, actionStrip (I7ae01)
  • Wycofaj title, headerAction, actionStrip z GridTemplate 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 w PaneTemplate, 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 w MessageTemplate. Wycofano obsługę systemów ActionStrip, headerAction i title. (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 grupy ConversationItem (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 grupy ConversationItem (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 pliku settings.gradle projektu, aby bezpiecznie tymczasowo wyłączyć ostrzeżenie.

Nowe funkcje

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 API MapWithContentTemplate (I0f8ed)
  • Usuwa tag @ExperimentalCarApi z działań ListTemplate w wersji CAL 1.4 (I2cfcb)
  • Usuwa tag @ExperimentalCarApi dotyczący reguły TabTemplate (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 do GridTemplate (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 metodami setImage() (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łudze GridItem. (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() i hashCode() dla: ConversationItem i CarMessage (I6fd10)
  • Popraw weryfikację atrybutu ConversationItem.mMessages (wymagany jest inny niż zerowy, pole niepuste (Iafc51)
  • Dodawanie adnotacji @Keep do pól ConversationItem (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.

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 i MapTemplate. Można to zrobić, aktualizując informacje nawigacyjne w NavigationManager.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 zakresu ActionsConstraints. Tam, gdzie zezwalał Action na ustawianie OnClickDelegate() jako działań z wyjątkiem standardowych typów ikon. (TYPE_APP_ICON, TYPE_BACK i TYPE_PAN) (I3c745)

Poprawki błędów

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ądzeniu NavigationTemplate (I163a7, I5ad70)
  • Poziom API 5: nowe komponenty Header i MapController 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 funkcje androidx.car.app.category.PARKING i androidx.car.app.category.CHARGING) (I59da1)

Zmiany w interfejsie API

  • Poziom 5: nowa metoda onClick w interfejsie SurfaceCallback, która umożliwia interakcję z mapą za pomocą dotknięcia (Ia9777)
  • Poziom API 5: nowe flagi Action.FLAG_IS_PERSISTENT i Action.FLAG_DEFAULT do opisywania obiektów Action (I96318, I5ad70)
  • Poziom API 5: nowy stan włączenia/wyłączenia komponentów Action, Row i Toggle (obsługa hosta dostępna w okolicach wersji biblioteki 1.3.0-beta01) (Id8a09)
  • Poziom API 5: faworyzuj nowy komponent Header za pomocą metody setHeader w metodach PlaceListNavigationTemplate.Builder i RoutePreviewNavigationTemplate.Builder, wycofując istniejące metody setTitle i setHeaderAction (I30e6a)
  • Poziom API 5: nowa metoda setOnContentRefreshListner w PlaceListMapTemplate.Builder i PlaceListNavigationTemplate.Builder do użycia z implementacjami nowego interfejsu OnContentRefreshListner.
  • Poziom API 5: nowe setTripText i setTripIcon w TravelEstimate.Builder w celu dostosowania karty prognozy podróży (Idcc6d, Ic620d)
  • Dodaj obsługę komponentów CarIconSpan w tytule elementu PaneTemplate (Ia1ee0)
  • Dodano obsługę znaczników CarIconSpan w tytule i tekście elementu Row (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 i SignInTemplate (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 zamiast STATUS_UNAVAILABLE (Ic9444)
  • Przed utworzeniem platformy sprawdź, czy jest ona wyświetlana (Ice027a)
  • Popraw błąd CarValue.equals() związany z STATUS_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 regionach PlaceListNavigationTemplate i RoutePreviewNavigateTemplate zaczną być dostępne w następnych wersjach Android Auto i Android 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 w Pane (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 oraz RoutePreviewNavigationTemplate (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 i LongMessageTemplate, 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: CarHardwareManagerktó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 pobiera TestCarContext (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 interfejsie CarAppExtender 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 aplikacji Desktop 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 i ScreenController w jedną metodę moveToState (I1ed00)
  • Dodano CarContext#getHostInfo() (I8977e)
  • Usunięto wycofane pola. (I67168)
  • Zaktualizowano SessionController i ScreenController, aby bezpośrednio wyświetlać konstruktory (Iabf22)
  • Usunięto PinSignInMethod.Builder i ProviderSignInMethod.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 na OnCarDataAvailableListener (I518ca)
  • Zaktualizowano nazwy metod CarInfo, Speed, Mileage i dokument javadoc. (I86672)
  • Nazwa elementu Toll została zmieniona na TollCard. (I3e7c8)
  • Usunięto wycofaną instancję PinSignInMethod.getPin, która została zastąpiona przez PinSignInMethod.getPinCode (I996ce)
  • Usunięto tekst OnInputCompletedListener (zastąpiono fragmentem InputCallback). (Ib5be1)
  • Zmieniono PinSignInMethod na CharSequence zamiast String (I275d5)

Poprawki błędów

  • Poprawki Javadoc dotyczące sprzętu samochodowego. (I2abbc)

Wkład z zewnątrz

Znane problemy

  • W SignInTemplate użycie InputSignInMethod może spowodować wyświetlenie NullPointerException 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 i LongMessageTemplate, 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 na OnRequestPermissionsCallback -> 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 w MessageTemplate (Ida657)
  • Element setLoading został dodany do listy MessageTemplate. (I2a4b5)
  • Zmieniono nazwę ConnectionToCar na CarConnection (Ife9bd)
  • Zmieniono NavigationTemplate, aby zwracał wyraźny PanModeDelegate (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 przesuwania Action (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 i LongMessageTemplate 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ę parametru ForegroundColorSpan 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 nowym SessionController 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łanie stopNavigation 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

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)