Społeczność

Now in Android #121

Czas czytania: 9 minut
Daniel Galpin
Przedstawiciel ds. kontaktu z deweloperami

Witamy w Now in Android, czyli w przewodniku po nowościach i ciekawostkach ze świata tworzenia aplikacji na Androida.

Przeczytaj więcej o Androidzie 16 QPR2 w wersji beta 1, pakiecie nowych funkcji Android Studio Narwhal, Jetpack Compose 1.9, Media 3 1.8, Shape MorphingAutofill w Compose oraz o wielu innych nowościach.

Możesz obejrzeć podsumowanie wideo:

 

 

Mamy też podcast.

Ten post zawiera jednak najbardziej szczegółowe informacje, więc czytaj dalej.

Android 16 QPR2 Beta 1 jest już dostępny ✨

Pierwsza wersja beta Androida 16 QPR2 jest już dostępna. To pierwsza wersja Androida z pomocniczą wersją pakietu SDK Androida. Pomniejsze wersje pakietu SDK mogą zawierać nowe interfejsy API, które rozszerzają funkcje platformy, ale nie mogą wprowadzać targetSdkVersionzmian w zachowaniu, które wymagają spełnienia określonych warunków. Dzięki temu możesz ograniczyć zakres testów aplikacji.

sdk-release-graph.webp

Możesz wywoływać nowe interfejsy API, sprawdzając SDK_INT_FULL w odniesieniu do wyliczenia VERSION_CODES_FULL:

  if (Build.VERSION.SDK_INT_FULL >= Build.VERSION_CODES_FULL.BAKLAVA_1) {
  // Call new APIs from the Android 16 QPR2 release
}

W atrybutach pliku manifestu uses-sdk nie można używać wartości VERSION_CODES_FULL.

Oto najważniejsze zmiany wprowadzone w QPR2 Beta 1.

Interfejs, wrażenia z korzystania z systemu i ułatwienia dostępu:

  • Rozszerzony ciemny motyw inteligentnie odwraca kolory w aplikacjach z jasnym motywem, aby zapewnić użytkownikom preferującym ciemny wygląd lepsze wrażenia.
  • Ikony aplikacji z automatycznym motywem mogą być generowane przez system, jeśli aplikacja nie udostępnia warstwy monochromatycznej.
  • Sesje interaktywnego selektora utrzymują aktywność interfejsu aplikacji, gdy arkusz udostępniania jest otwarty, przy użyciu ChooserManagerChooserSession.
  • Nowy interfejs Data Transfer API umożliwia bardziej niezawodne i bezpieczne przenoszenie danych między Androidem a iOS. Wymaga to aktualizacji reguł wyodrębniania danych z aplikacji w formacie XML i implementacji BackupAgent.
  • Pakiet android.graphics.pdf został rozszerzony o możliwość dodawania adnotacji i edytowania dokumentów PDF za pomocą PdfRenderer.Page.
  • Wartości ViewConfiguration są teraz dostosowane do poszczególnych urządzeń wirtualnych. W przypadku scenariuszy z wieloma wyświetlaczami przejdź na ViewConfiguration.get(context).
  • Zyskujesz większą kontrolę nad szczegółowością reakcji haptycznej, określając VibrationAttributes za pomocą View.performHapticFeedback(HapticFeedbackRequest).
  • Kafelki Szybkich ustawień można teraz przypisywać do wstępnie zdefiniowanych kategorii w pliku AndroidManifest.xml.

Multimedia i dźwięk:

  • Dekodowanie oprogramowania dla modelu i formatów dźwięku przestrzennego (IAMF), otwartego formatu dźwięku przestrzennego.
  • Osobiste udostępnianie dźwięku na urządzeniach Bluetooth LE Audio jest zintegrowane bezpośrednio z przełącznikiem wyjścia systemu.
  • Użytkownicy mogą kontrolować jasność HDR za pomocą suwaka jasności HDR/SDR.
  • Dodatki do selektora zdjęć mogą wyróżniać konkretne albumy lub zapytania.

Połączenia:

  • Ulepszenia funkcji zarządzania urządzeniami towarzyszącymi (CDM) umożliwiają dostarczanie niestandardowych ikon urządzeń, nasłuchiwanie wywołania zwrotnego EVENT_ASSOCIATION_REMOVED i włączanie weryfikacji w różnych aplikacjach za pomocą identyfikatora urządzenia.
  • Aktualizacje Bluetooth obejmują obsługę skanowania pasywnego w przypadku BluetoothLeScanner (ScanSettings.SCAN_TYPE_PASSIVE), przyczyny utraty połączenia (BluetoothDevice.EXTRA_BOND_LOSS_REASON) i bezpośrednie pobieranie identyfikatorów UUID usług (BluetoothDevice.EXTRA_UUID_LE).
  • Aktualizacje pomiarów RTT Wi-Fi (RttStationRangingParams) obsługują pomiary w stosunku do stacji.
  • Dostępny jest nowy PhoneNumberManager do analizowania i weryfikowania numerów telefonów z nagłówków IMS P-Associated-URI.
  • Ulepszenia ochrony prywatności w MediaRouter Network umożliwiają przesyłanie na nowe nośniki, takie jak Bluetooth i UWB. W tym celu należy użyć systemowego przełącznika wyjścia lub poprosić o uprawnienia NEARBY_DEVICES w przypadku niestandardowych selektorów w aplikacji.

Prywatność i bezpieczeństwo:

  • Nowy stan zabezpieczeń na poziomie systemu, blokada zabezpieczająca urządzenia, blokuje urządzenia i wymaga uwierzytelniania podstawowego do odblokowania.
  • Dodaliśmy przełącznik dla użytkowników, który umożliwia włączanie i wyłączanie funkcji „Blokada po nieudanej próbie uwierzytelnienia” w ramach ochrony telefonu w razie kradzieży.

Produktywność programistów:

  • Nowe interfejsy API AppWidgetManager umożliwiają wysyłanie zapytań o dane dotyczące zaangażowania w widżety.
  • Aplikacje z możliwością debugowania zainstalowane za pomocą ADB będą teraz otrzymywać wczesne ostrzeżenia o zgodności ze stronami o rozmiarze 16 KB.
  • ProfilingManager dodaje obsługę nowych aktywatorów profilowania inicjowanego przez system i requestRunningSystemTrace do przechwytywania śladów w tle.
  • Przełącznik „Szczegółowe rejestrowanie drukowania” w Opcjach programisty zapewnia dodatkowe informacje na potrzeby debugowania platformy drukowania Androida.
  • Dzięki nowym interfejsom UiAutomation do tworzenia zrzutów ekranu na wyświetlaczach innych niż domyślne i publicznym interfejsie AccessibilityWindowInfo.refresh można przeprowadzać bardziej zaawansowane testy na komputerach i wielu wyświetlaczach.
  • Dodano obsługę interfejsu API dla nowej biblioteki androidx.core:core-backported-fixes.
  • Aplikacje z graficznym interfejsem użytkownika są teraz obsługiwane w terminalu Linuxa
  • WindowInspector.addGlobalWindowViewsListener obsługuje powiadomienia o zmianach widoku głównego w czasie rzeczywistym.

Możesz zarejestrować dowolne obsługiwane urządzenie Pixel, aby otrzymywać aktualizacje wersji beta bezprzewodowo, lub używać 64-bitowych obrazów systemu z Android Emulator w Android Studio. Stabilność platformy jest planowana na październik 2025 r.

Pakiet nowych funkcji Android Studio Narwhal jest stabilny – zacznij korzystać z trybu agenta 🐳

narwhal.webp

Pakiet nowych funkcji Android Studio Narwhal jest już dostępny w wersji stabilnej. Zawiera on m.in. te nowe funkcje i ulepszenia:

  • Gemini w Android Studio: tryb agenta jest dostępny w przypadku wieloetapowych zadań związanych z kodowaniem.
  • Biblioteka promptów Reguły dostosowują wyniki AI Gemini do potrzeb Twojego projektu.
  • Przekształcanie interfejsu za pomocą Gemini wykorzystuje interfejs użytkownika w języku naturalnym do iteracyjnego tworzenia interfejsu Compose.
  • Obsługa tworzenia aplikacji w trybie immersyjnym dzięki wbudowanemu emulatorowi Androida XR, nowemu szablonowi XR i wbudowanemu narzędziu Layout Inspector dla XR.
  • Rozszerzony dostęp do urządzeń w ramach strumieniowania urządzeń z Androidem w partnerskich laboratoriach urządzeń z Androidem.
  • Lepsze podglądy kompozycji dzięki ulepszonej nawigacji po kodzie i nowemu selektorowi podglądu kompozycji
  • Kompilator Kotlin K2 włączony domyślnie, co zapewnia większą szybkość kompilacji
  • Narzędzia do obsługi stron o rozmiarze 16 KB z ostrzeżeniami lint, analizą i emulatorem, które pomogą Ci przygotować się na nadchodzące urządzenia ze stronami o rozmiarze 16 KB.

Strumieniowanie urządzeń z Androidem oparte na Firebase

device-streaming.webp

Strumieniowanie urządzeń z Androidem oparte na Firebase wprowadziło stabilną obsługę partnerskich laboratoriów urządzeń z Androidem, co umożliwia zdalne łączenie się z fizycznymi urządzeniami z Androidem hostowanymi przez partnerów OEM, w tym Samsung, Xiaomi, OPPO, OnePlus i vivo.

Przyspieszenie rozwoju dzięki comiesięcznym wersjom Androida Studio – wydajemy 2 razy częściej niż wcześniej

accelarating-releases.webp

Android Studio przechodzi na miesięczny cykl wydań stabilnych, aby szybciej udostępniać nowe funkcje i poprawki krytycznych błędów. Środowisko IDE Android Studio będzie aktualizowane co miesiąc, a nowe wersje platformy IntelliJ będą wprowadzane co kilka miesięcy. W okresach między nimi będą udostępniane pakiety nowych funkcji. Emulator Androida i wtyczka Androida do obsługi Gradle będą nadal aktualizowane oddzielnie co 2 miesiące. Ten przyspieszony harmonogram publikacji jest możliwy dzięki długoterminowym inwestycjom w infrastrukturę testową.

Nowości w Jetpack Compose w sierpniu 2025 r. 🚀

jetpack-compose.webp

Wersja Jetpack Compose z sierpnia 2025 r. (1.9) jest już stabilna. W tej wersji wprowadziliśmy Modifier.dropShadowModifier.innerShadow do renderowania efektów cienia pola. Nowe modyfikatory onVisibilityChangedonFirstVisible umożliwiają śledzenie widoczności elementu na potrzeby aktualizacji interfejsu lub rejestrowania wyświetleń. W OutputTransformation możesz stosować zaawansowane style, używając TextFieldBuffer.addStyle do przekształcania tekstu.

Bloki konstrukcyjne LazyLayout są już stabilne. Możesz zdefiniować LazyLayoutCacheWindow, aby zwiększyć wydajność leniwej listy i siatki dzięki ulepszonemu wstępnemu pobieraniu. Scrollable2D umożliwia dwuwymiarowe przewijanie, w tym szybkie przewijanie i przewijanie zagnieżdżone, oraz wprowadza różne ulepszenia dotyczące współdziałania przewijania i przewijania zagnieżdżonego z widokami. Interfejs API wymagający zgody użytkownika (Composer.setDiagnosticStackTraceEnabled) zawiera w zrzutach stosu bardziej szczegółowe informacje o lokalizacji awarii. Jest on zalecany tylko w przypadku wersji debugowania. Nowe adnotacje @RememberInComposition@FrequentlyChangingValue wraz z powiązanymi sprawdzeniami Lint są dostępne w nowej bibliotece adnotacji czasu działania. Menu kontekstowe można dostosowywać za pomocą elementów Modifier.appendTextContextMenuComponentsModifier.filterTextContextMenuComponents. Wymagana jest teraz wtyczka Androida do obsługi Gradle (AGP) lub Lint w wersji 8.8.2 lub nowszej.

Media3 1.8.0 – nowości 🚀

media3.webp

Dostępna jest już wersja 1.8.0 biblioteki Media3, która wprowadza kilka nowych funkcji i ulepszeń. ExoPlayer zyskuje tryb przewijania do przodu i do tyłu, który jest często używany przez użytkowników. Możesz go włączyć za pomocą ExoPlayer.setScrubbingModeEnabled. HlsInterstitialsAdsLoader obsługuje teraz transmisje na żywo w przypadku wstawiania reklam sterowanego przez serwer.

MetadataRetriever został zaktualizowany, aby umożliwić pobieranie czasu trwania elementów multimedialnych bez odtwarzania. W przypadku Transformer wprowadzamy szybsze operacje przycinania za pomocą list edycji MP4 z experimentalSetMp4EditListTrimEnabled oraz optymalizacje kodera specyficzne dla chipsetu za pomocą CodecDbLite, które są włączane przez wywołanie setEnableCodecDbLite na DefaultEncoderFactory.Builder.

Dodatkowe aktualizacje obejmują obsługę częściowego pobierania w DownloaderPreCacheHelper, automatyczne kierowanie dźwięku XR w ExoPlayer oraz bardziej wydajne interakcje z MediaCodec. Moduł MediaSession domyślnie utrzymuje powiadomienia widoczne dłużej, a aplikacja w wersji demonstracyjnej sesji multimedialnej prezentuje funkcję wznawiania odtwarzania. Nowa aplikacja w wersji demonstracyjnej Composition, napisana w Kotlinie i Compose, pokazuje zaawansowaną edycję filmów z wieloma zasobami.

Artykuły 📚

#WeArePlay: poznaj osoby, które tworzą kod dla bardziej zrównoważonego świata

weareplay.webp

Inicjatywa #WeArePlay promuje aplikacje i gry na Androida, które pomagają rozwiązywać problemy związane z ochroną środowiska. Gra BoRa – Park Narodowy Iguaçu, opracowana przez Maylę, Flávię, Andréię i Ariane, zapewnia interaktywne doświadczenia w formie gry, które ułatwiają edukację przyrodniczą podczas wizyt w parku. Aplikacja CyberTracker Louisa i Justina umożliwia rdzennym tropicielom, którzy nie potrafią czytać ani pisać, rejestrowanie danych o bioróżnorodności za pomocą interfejsu opartego na ikonach, co wspiera działania na rzecz ochrony przyrody. Earth5R, której współzałożycielami są Bharati i Saurabh, oferuje edukację ekologiczną i umożliwia użytkownikom zdobywanie staży i udział w projektach, które pozwalają rozwijać umiejętności potrzebne w zielonej gospodarce.

Co to jest HDR? 🌟

hdr.webp

High Dynamic Range (HDR) umożliwia deweloperom Androida zwiększenie maksymalnej jasności powyżej standardowego zakresu dynamiki (SDR), co zapewnia lepszą wierność obrazu. Android obsługuje HDR w przypadku filmów i obrazów, w tym technologie takie jak UltraHDR, które zapewniają zgodność wsteczną.

Interpretowanie koloru obejmuje 3 komponenty:

  • Głębia bitowa: określa precyzję odwzorowania kolorów. Większa głębia zapewnia płynniejsze przejścia.
  • Funkcja przenoszenia: mapuje numeryczne wartości pikseli na wyświetlaną luminancję lub kolor, dostosowując je do nieliniowej reakcji ludzkiego wzroku. Przykłady to sRGB, HLG i PQ.
  • Gama kolorów: zakres kolorów, które urządzenie może odtworzyć.

Typowe nieporozumienia dotyczące HDR:

  • Żywe kolory: szersze gamy kolorów, takie jak Display P3 i Adobe RGB, były dostępne przed HDR, a większość wyświetlaczy nadal przycina się do P3, nawet w przypadku treści BT.2020.
  • Większy kontrast i lepsze odwzorowanie czerni: HDR nie zapewnia ciemniejszej czerni niż SDR na tym samym wyświetlaczu. Ekrany OLED zapewniają nieskończony kontrast w obu przypadkach. PQ przydziela więcej bitów do ciemnych obszarów, ale nie jest uniwersalną funkcją HDR.
  • Większa głębia bitowa: niektóre profile wideo HDR (np. HDR10) używają strumieni 10- lub 12-bitowych, ale jest to specyficzne dla tych profili i nie jest nieodłączną cechą HDR; większa głębia bitowa jest też powszechna w innych formatach obrazu.

HDR oznacza przede wszystkim wyższą jasność szczytową. Ten „zapas HDR” jest zdefiniowany jako region zmienny w stosunku do SDR. Tradycyjne filmy HDR często kodują stały zakres dynamiki, ale nowoczesne wyświetlacze używają dynamicznego zakresu dynamiki, co może prowadzić do różnic w jakości. Technologie takie jak ultra HDR i mapy wzmocnienia oferują alternatywne rozwiązania z efektywnym wykorzystaniem bitów. Zestaw narzędzi interfejsu Androida korzysta z interfejsu API extendedRangeBrightness, aby zapewnić obsługę HDR nawet w przypadku RGBA_8888.

Filmy 📹

Zaawansowane udostępnione elementy z przekształcaniem kształtu | Wskazówki dotyczące Jetpack Compose

Jetpack Compose umożliwia teraz zaawansowane przejścia między udostępnianymi elementami, złożone przekształcanie kształtów i animacje ujawniania. Deweloperzy mogą skonfigurować SharedTransitionLayout na najwyższym poziomie aplikacji i użyć Modifier.sharedBounds do połączenia elementów.

Przekształcanie kształtów to nowa kluczowa funkcja, która jest możliwa dzięki bibliotece kształtów graficznych AndroidX Material 3. Wymaga to utworzenia obiektu Morph ze zdefiniowanymi kształtami początkowymi i końcowymi, sterowania jego postępem za pomocą funkcji animateFloat (z AnimatedVisibilityScope) i zastosowania go jako klipu za pomocą niestandardowego OverlayClip. Efekty ujawniania korzystają z skipToLookaheadSizeskipToLookaheadPosition. Wszystkie te zaawansowane animacje są też zgodne z gestami przewidywanego przejścia wstecz.

Multimodalne Gemini w Android Studio: tworzenie interfejsu oparte na AI

Funkcje AI od Gemini w Android Studio pomagają w tworzeniu interfejsu, generując kod na podstawie projektów (w tym obrazów), tworząc podglądy Compose z danymi syntetycznymi i ulepszając istniejący interfejs za pomocą bezpośrednich poleceń.

Korzystanie z pakietu SDK używanego w czasie działania aplikacji

Android 14 wprowadza środowisko wykonawcze SDK, czyli nową technologię izolującą pakiety SDK innych firm w bezpiecznej, oddzielnej piaskownicy procesów, aby zwiększyć prywatność i bezpieczeństwo.

Dla deweloperów:

  • Pakiety SDK używane w czasie działania aplikacji są wykonywane w tym osobnym procesie.
  • Pakiety SDK z informacjami o środowisku wykonawczym działają w aplikacji jako pośrednicy.
  • Wczytuj pakiety SDK RE za pomocą funkcji SdkSandboxManagerCompat, przestrzegając ograniczeń (np. działanie na pierwszym planie, jednokrotne wczytywanie).
  • Narzędzia Shim upraszczają komunikację między procesami na niskim poziomie.
  • Renderuj interfejs z pakietów SDK RE za pomocą funkcji SandboxedSdkViewSandboxedUiAdapter.
  • Uruchamiaj działania ze środowiska wykonawczego SDK za pomocą funkcji SdkActivityLauncher.

Przekształcanie kształtów w WearOS Material 3 | Wskazówki dotyczące Jetpack Compose

Wear OS Material 3 w Compose upraszcza teraz przekształcanie kształtów. Programiści mogą łatwo dodawać animowane zmiany kształtu do okrągłych przycisków za pomocą IconButtonDefaults.animatedShapes, tworzyć grupy przycisków, które animują zmiany szerokości za pomocą komponentu ButtonGroupModifier.animateWidth(), oraz tworzyć listy przewijane w pionie (TransformingLazyColumn), na których elementy skalują się i przekształcają za pomocą TransformationSpec, gdy zbliżają się do krawędzi ekranu.

Wersje AndroidaX 🚀

Oto podsumowanie zmian w Androidzie X, z uwzględnieniem tych, które są najważniejsze dla deweloperów aplikacji na Androida:

Ogólna zmiana wpływająca na biblioteki Compose:

  • DomyślnaminSdk podniesiona do API 23: w przypadku androidx.compose animation, foundation, material, runtimeui domyślna minimalna wersja SDK została przeniesiona z API 21 na API 23. Oznacza to, że jeśli używasz najnowszych wersji alfa tych bibliotek Compose, Twoja aplikacja będzie wymagać Androida 6.0 (Marshmallow) lub nowszego.

Najważniejsze zmiany dla programistów korzystających z Compose:

  • Nowy interfejs API retain (Compose Runtime): wprowadza interfejs API retain podobny do rememberSaveable, ale w przypadku wartości, które opuszczają hierarchię kompozycji bez serializacji. Ma krótszy okres istnienia niż zapisane wartości i działa podobnie do ViewModel, zapewniając nowy sposób zarządzania stanem w przypadku funkcji kompozycyjnych, które mogą wchodzić w skład kompozycji i z niej wychodzić.
  • Ulepszone przejścia między elementami współdzielonymi (animacja i interfejs Compose): nowe interfejsy API do dynamicznego włączania i wyłączania elementów współdzielonych, uwzględniania trwających przejść i ustawiania alternatywnych granic docelowych, gdy element współdzielony jest usuwany. Dostępny jest też nowy Modifier.skipToLookaheadPosition do zakotwiczania układów.
  • Ulepszone wstępne pobieranie stron (Compose Foundation): strategia wstępnego pobierania Pager korzysta teraz z „okna pamięci podręcznej” (rozmiar 1 widocznego obszaru) zamiast pojedynczego elementu, a wstępne pobieranie początkowe jest domyślnie włączone. Elementy są też dłużej wyświetlane, co zapewnia płynniejsze przewijanie.
  • Ulepszone zarządzanie fokusem w przypadku myszy i touchpada (Compose Foundation & UI): ComposeViews będzie teraz automatycznie usuwać fokus, gdy zdarzenie wskaźnika w dół (z myszy lub touchpada) wystąpi poza węzłem, na którym jest ustawiony fokus. Możesz z nich zrezygnować.
  • Dostosowywane prostokąty zaznaczenia (Compose Foundation): FocusProperties umożliwia teraz zdefiniowanie niestandardowego obszaru zaznaczenia zamiast domyślnej ramki ograniczającej, co poprawia przechodzenie między elementami i logikę „utrzymywania w widoku” w kontenerach z możliwością przewijania.
  • Kompozycja LifecycleOwner (Lifecycle): nowa kompozycja umożliwia tworzenie instancji z określonym zakresem LifecycleOwner bezpośrednio w drzewie interfejsu. Jest to szczególnie przydatne w przypadku niezależnego zarządzania cyklami życia komponentów i bibliotek takich jak Navigation.
  • Obsługa typów dopuszczających wartość null w SavedStateHandle (LifecycleSavedState): uproszczone zapisywanie i przywracanie właściwości dopuszczających wartość null dzięki natywnej obsłudze w SavedStateHandleSavedStateRegistryOwner.
  • NowyLineHeightStyle.Mode.Tight (Compose Foundation & UI): nowy tryb Tight pomaga wymuszać mniejsze wysokości wierszy, nawet jeśli oznacza to potencjalne obcięcie wyższych glifów, co zapewnia bardziej precyzyjną kontrolę nad układem tekstu.
  • Kliknięcie dwukrotne, aby zaznaczyć słowo (Compose Foundation): dodano obsługę kliknięcia dwukrotnego w celu zaznaczenia słów w SelectionContainerBasicTextField.
  • Zmiany w zachowaniu WindowInsets (interfejs Compose i biblioteka Foundation):
    ◦ Nowy interfejs API WindowInsets.cutoutPath do pobierania ścieżki wycięcia w ekranie.
    ◦ Usunięto flagę isWindowInsetsDefaultPassThroughEnabled, domyślnie ustawiając WindowInsets na nie używaj, co pozwala widokom podrzędnym na ich odbieranie.
  • AndroidView requestRectangleOnScreen Poprawka (Compose Foundation): żądania wysyłane przez AndroidViews (np. EditText próba pozostania na ekranie) są teraz prawidłowo przekazywane do Compose.
  • Ulepszone przewijanie dwuwymiarowe za pomocą kółka myszy (Compose Foundation i UI): lepsza obsługa zdarzeń przewijania dwuwymiarowego za pomocą kółka myszy, nowe interfejsy API do testowania i flaga do kontrolowania działania.

Nowe biblioteki i narzędzia:

  • androidx.core:core-backported-fixes (Nowa biblioteka): ta nowa biblioteka umożliwia deweloperom sprawdzanie, czy na urządzeniu zastosowano krytyczne poprawki błędów (np. problemy na poziomie platformy, takie jak konkretne błędy kamery). Umożliwia to oferowanie różnych wrażeń użytkownika w zależności od tego, czy znany błąd został rozwiązany.

Inne istotne zmiany:

  • Aktywność i dane wejściowe w grach: dodano domyślną obsługę stron o rozmiarze 16 KB i obsługę myszy w przypadku GameActivity.
  • Pozycjonowanie etykietek Material3: więcej dostawców pozycji etykietek, co umożliwia umieszczanie ich nad, pod, po lewej lub po prawej stronie elementu zakotwiczonego.
  • Material3DatePicker Poprawki: zapewnia, że selektor daty uwzględnia własne ustawienia regionalne w przypadku formatowania liczb, i rozwiązuje problemy z wyświetlaniem w przypadku języków pisanych od prawej do lewej.
  • Obsługa parametru display_override w przypadku zaufanych aplikacji internetowych (przeglądarka): dodaliśmy obsługę właściwości pliku manifestu display_override zaufanej aplikacji internetowej, co zapewnia większą kontrolę nad wyświetlaniem zaufanych aplikacji internetowych.
  • Otwieranie początkowego adresu URL w aplikacji zewnętrznej (przeglądarce): dodano intencję, która umożliwia otwieranie początkowego adresu URL zaufanej aplikacji internetowej w zewnętrznej przeglądarce.

Android Developers Backstage

Android Developers Backstage wraca z kolejnym odcinkiem.

Autouzupełnianie w Compose

Jetpack Compose 1.8 wprowadza znacznie ulepszone funkcje autouzupełniania, które wykorzystują system semantyki Compose. Deweloperzy mogą teraz łatwo zintegrować autouzupełnianie na poziomie systemu, po prostu oznaczając pola tekstowe odpowiednimi semantykami typu treści (np.nazwa użytkownika, hasło). Eliminuje to potrzebę ręcznego zarządzania drzewem autouzupełniania i zwiększa wydajność.

 

No to zaczynajmy… 👋

To wszystko w tej edycji. Znajdziesz w niej informacje o  Androidzie 16 QPR2 w wersji beta 1, pakiecie nowych funkcji Android Studio Narwhal, Jetpack Compose 1.9, Media 3 1.8, przekształcaniu kształtówautouzupełnianiu w Compose oraz wiele innych.

Wkrótce opublikujemy kolejne informacje ze świata deweloperów Androida.

Autor:

Czytaj dalej