Android Q dla programistów: wszystko, co musisz wiedzieć

Autor: Louise Ward
Data Utworzenia: 9 Luty 2021
Data Aktualizacji: 2 Lipiec 2024
Anonim
Android Q dla programistów: wszystko, co musisz wiedzieć - Aplikacje
Android Q dla programistów: wszystko, co musisz wiedzieć - Aplikacje

Zawartość


Z perspektywy użytkownika nowa wersja Androida to zazwyczaj ekscytujący czas. Jeśli nie podoba ci się konkretny element interfejsu użytkownika, oznacza to na ogół lepszą wydajność, większą stabilność i mnóstwo nowych funkcji.

Przeczytaj także: Najważniejsze funkcje Androida Q, które powinieneś znać

Dla programistów aktualizacja taka jak Android Q zwykle wywołuje mieszane uczucia. Te nowe funkcje to wciąż dobra wiadomość, potencjalnie pozwalająca na bardziej interesujące i wydajne funkcje w naszych aplikacjach. Jednocześnie zmiany stanowią również wiele pracy, ponieważ staramy się, aby projekty nie tylko obsługiwały nową platformę i spełniały jej specyfikacje, ale były zoptymalizowane pod kątem zapewnienia jak najlepszych wrażeń.

W tym celu ten post pomoże ci nabrać tempa, dzieląc się wszystkimi ważnymi zmianami i zmianami, o których wiemy do tej pory, o których deweloperzy powinni pamiętać.


Obejmuje to obecnie wszystkie nowe wersje aż do wersji Beta 6. Jest to prawdopodobnie ostatni raz, gdy będziemy aktualizować ten post przed ostateczną wersją!

Android Q dla programistów w skrócie - to, co naprawdę musisz wiedzieć

Oto, co naprawdę musisz wiedzieć:

  • Wymagane będą nowe uprawnienia do lokalizacji.
  • Obsługa wielokrotnego wznawiania wymaga oczywistych zmian.
  • Zakres pamięci zmieni sposób zapisywania i uzyskiwania dostępu do plików w pamięci zewnętrznej.
  • Wyszukiwanie lokalizacji wymaga teraz dokładnej lokalizacji.
  • Informacje takie jak IMEI są teraz ograniczone.
  • Aplikacje w tle nie mogą już uruchamiać działań na pierwszym planie.
  • Chociaż nie jest to ściśle związane z Androidem Q, wprowadzane są nowe specyfikacje ikon aplikacji.
  • Podobnie, jeszcze w tym roku programiści będą zmuszeni co najmniej wspierać system Android Pie. Ostrzeżenia pojawią się w aplikacjach, jeśli się nie zastosują.
  • Wszystkie aplikacje będą musiały udostępnić wersje 64-bitowe do końca roku.
  • Nowe nawigacje gestami systemu mogą mieć wpływ na interfejs aplikacji.

Oto kilka ciekawych nowych funkcji, które mogą Cię zainteresować:


  • Multi-resume pozwoli na bardziej wydajną wielozadaniowość.
  • Możesz przetestować zmiany w emulatorze za pośrednictwem kanału wydań Canary dla systemu Android 3.5.
  • Deweloperzy mogą teraz uzyskiwać dostęp do większej ilości danych z czujników głębokości.
  • Twórcy mogą zdecydować się na obsługę ciemnego motywu.
  • Dostępne tryby Wi-Fi o wysokiej wydajności i niskim opóźnieniu.
  • TextClassifier pozwoli programistom zidentyfikować język fragmentu tekstu.
  • Interfejs API MicrophoneDIrection pozwala wybrać kierunek mikrofonu podczas nagrywania.
  • Bubbles pozwoli na łatwiejszą wielozadaniowość i bogate powiadomienia.
  • Zwiększona obsługa kodeków mediów.
  • Udostępnianie skrótów ułatwi udostępnianie multimediów z aplikacji.
  • Szybkie ustawienia umożliwią łatwy dostęp do ustawień związanych z bieżącą aplikacją.
  • Wsparcie Vulkan jest mocno naciskane.
  • Więcej operacji na sieci neuronowej.
  • Ulepszenia w środowisku wykonawczym dla Androida pomogą aplikacjom szybciej lunchować (teoretycznie).

Aby uzyskać więcej informacji na temat tych wszystkich rzeczy i drobnych zmian, czytaj dalej. Przyjrzymy się również, jak możesz teraz rozpocząć testowanie aplikacji na Androida Q.

Uprawnienia do lokalizacji zobacz ulepszone opcje bezpieczeństwa

Każda nowa wersja Androida niesie ze sobą nowe funkcje zaprojektowane w celu zapewnienia bardziej bezpiecznego i prywatnego użytkowania dla użytkowników. Tym razem zyskują większą kontrolę nad informacjami o lokalizacji. Wcześniej użytkownicy mogli hurtowo przyznawać lub odmawiać dostępu do danych o lokalizacji. Tym razem będą mogli wybrać trzecią opcję, aby podać te dane tylko wtedy, gdy aplikacja jest używana - gdy jest uruchomiona na pierwszym planie.

Mamy nadzieję, że oznacza to, że użytkownicy nie odmówią zainstalowania aplikacji całkowicie, ponieważ nie chcą, aby „ją oglądała”, chociaż sformułowania użyte w zezwoleniu na lokalizację w tle mogą być nieco odrażające:

„Zezwól aplikacji na dostęp do lokalizacji tego urządzenia cały czas?

Ojej!

Jakkolwiek się z tym czujesz, oznacza to, że musisz wprowadzić kilka zmian. W szczególności programiści atakujący na Q będą musieli dodać następujący wiersz do manifestu aplikacji: android.permission.ACCESS_BACKGROUND_LOCATION.

Jeśli masz starszą aplikację, system Android doda to uprawnienie oprócz ACCESS_FINE_LOCATION lub ACCESS_COARSE_LOCATION domyślnie.

Więcej informacji o tym, jak to skonfigurować, można znaleźć tutaj.

Pamięć o określonym zasięgu zmienia sposób uzyskiwania dostępu do plików zewnętrznych

Podczas gdy zajmujemy się kwestią prywatności, użytkownicy będą mogli także kontrolować dostęp do udostępnionych plików w folderach Zdjęcia, Wideo i Audio z nowymi uprawnieniami środowiska wykonawczego zastępującymi READ_EXTERNAL_STORAGE i WRITE_EXTERNAL_STORAGE. Dostęp do folderu Pobrane będzie również możliwy tylko za pomocą systemowego selektora plików, co zapewni użytkownikom całkowitą kontrolę nad tym, które pliki są udostępniane.

Aby to skonfigurować, musisz poprosić o nowe uprawnienia, takie jak READ_MEDIA_IMAGES, a następnie uzyskać dostęp do kolekcji za pośrednictwem interfejsu API MediaStore. Pełne instrukcje można znaleźć tutaj.

Aby zrównoważyć, aplikacje będą teraz miały swój „izolowany obszar izolowany”, który udostępnia folder ograniczony do tej aplikacji znajdujący się w pamięci zewnętrznej. Ma to na celu zmniejszenie zapotrzebowania na uprawnienia, przy czym, mam nadzieję, jest nieco bardziej elastyczny niż obecnie udostępniana pamięć wewnętrzna. Nadal musisz utworzyć kopię zapasową tych plików, przenosząc je do kolekcji MediaStore lub używając Storage Access Framework, jeśli chcesz, aby pozostały po odinstalowaniu aplikacji. Jednak nieuchronnie stworzy to pewne przeszkody w kilku wyjątkowych przypadkach użycia.

Jeśli chcesz uzyskiwać dostęp do plików z izolowanych obszarów izolowanych innych aplikacji w pamięci zewnętrznej, możesz mieć pewne zastrzeżenia. Jest to domyślnie włączone dla popularnych typów plików multimedialnych (takich jak zdjęcia i muzyka). Jeśli jednak chcesz uzyskać dostęp do innych plików utworzonych przez osobną aplikację, będziesz musiał skorzystać z intencji ACTION_OPEN_DOCUMENT i ACTION_OPEN_DOCUMENT_TREE, aby poprosić o dostęp do określonego pliku (który użytkownik udzieli lub cofnie).

Więcej zmian bezpieczeństwa

Kilka innych zmian bezpieczeństwa do rozważenia:

  • Aplikacje działające w tle nie będą już mogły uruchamiać działań na pierwszym planie, ponieważ może to być wstrząsające dla użytkowników. Zamiast tego musisz używać powiadomienia o wysokim priorytecie z pełnym ekranem do takich rzeczy jak połączenia przychodzące.
  • Urządzenia będą domyślnie miały losowe adresy MAC w różnych sieciach Wi-Fi (było to opcjonalne w Pie).
  • Dostęp do informacji takich jak IMEI urządzenia i numer seryjny będzie teraz ograniczony. Więcej informacji tutaj.
  • Interfejsy API do skanowania sieci będą teraz wymagały pozwolenia na lokalizację FINE.
  • Dodano obsługę standardów WPA3 i Enhanced Open Wi-Fi.
  • Wygląda na to, że aplikacje nie będą już mogły przełączać Wi-Fi, zamiast tego będą musiały polegać na nowym panelu ustawień.

Zabezpieczenie na przyszłość - urządzenia składane, wielokrotne wznawianie i sieci neuronowe

Android Q podejmuje również szereg kroków, aby przygotować się na przyszłość sprzętu. Wiesz, co to znaczy: składane! Lub, jak nazywa je Google: „innowacyjne nowe ekrany”.

Najważniejsze zmiany to ulepszenia onResume i onPause. Będą one teraz obsługiwać „wielokrotne wznawianie” i powiadamiać aplikację, gdy zostanie aktywowana. Multi-Resume skutecznie pozwala na jednoczesne uruchamianie dwóch aplikacji bez wstrzymywania (tak jak obecnie). Wpłynie to prawdopodobnie na wszystkie aplikacje w trybie wielu okien (nie tylko te na składanych wyświetlaczach), co ostatecznie zbliży nasze telefony do prawdziwej wydajności pulpitu. Jeśli chcesz zobaczyć, jak to wygląda w tej chwili, możesz spróbować czegoś podobnego w aplikacji MultiStar na Samsung (część Good Lock).

Oprócz wielokrotnego wznawiania, Android Q widzi także zmiany w onResume i onPause - być może niektóre z najbardziej fundamentalnych zmian, które widzieliśmy od dłuższego czasu.

Zmienia się również atrybut manifestu aktywności o zmiennym rozmiarze, aby pomóc sobie poradzić z regularnym podwajaniem rozmiaru przy otwieraniu wyświetlaczy.

To w dużej mierze dobra wiadomość dla programistów, którzy teraz nie muszą się martwić, jak radzić sobie z wstrzymywaniem, ale widocznością aplikacji. To powiedziawszy, wprowadza jeszcze więcej potencjalnych przypadków użycia i typów wyświetlania na już bardzo rozdrobnioną platformę. Zabawa zabawa.

Ponownie, aby zaimplementować to wszystko, musisz wprowadzić pewne zmiany w manifeście, a konkretnie dołączyć tag: android.allow_multiple_resumed_activities. Począwszy od wersji Beta 2 i 3, programiści będą mogli to przetestować samodzielnie za pomocą emulatora foldable za pośrednictwem AVD.

Nadchodzi również interfejs API sieci neuronowych 1.2, który oferuje 60 nowych operacji i ulepszoną funkcjonalność. Operacje obejmują ARGMAX, ARGMIN i Quantized LSTM, które powinny zasadniczo umożliwiać lepsze wykrywanie obiektów i segmentację obrazu.

Więcej wielozadaniowości z bąbelkami

Jakby nie wystarczyła prawdziwa wielozadaniowość, Android Q wprowadzi jeszcze jeden sposób na zrobienie więcej niż jednej rzeczy naraz: bąbelki. Te bąbelki skutecznie działają jako forma powiadomienia, ale dostarczają więcej informacji, a nawet pokazują całe działania oprócz tego, co użytkownik aktualnie robi. Umożliwia to szybki dostęp do takich rzeczy, jak notatki, tłumaczenia i czaty. Zasadniczo wtedy rozmawiaj na czacie.

bąbelki skutecznie działają jako forma powiadomienia

Programiści będą mogli uzyskać dostęp do nowej funkcji za pośrednictwem interfejsu API wbudowanego w obecny system powiadomień. Aby wysłać bąbelki, użyjesz setBubbleMetadata, a następnie zapewnisz aktywność do wyświetlenia w bąbelku wraz z ikoną.

Udostępnianie skrótów i panel ustawień

Google chce ułatwić użytkownikom udostępnianie treści z aplikacji, dlatego wprowadzi „Udostępnianie skrótów”, aby użytkownicy mogli przejść bezpośrednio do innej aplikacji. Programiści będą mogli publikować „udostępnianie celów” w celu uruchomienia określonych działań z dołączoną treścią, które zostaną pokazane użytkownikom za pośrednictwem interfejsu użytkownika. Od wersji Beta 2 możesz teraz udostępnić podgląd udostępnianych danych.

Będzie to działać podobnie do Skrótów aplikacji, a więc będzie dostępne poprzez API ShortcutInfo. Pojawi się także nowa biblioteka ShareTarget AndroidX, która będzie działać na urządzeniach, na których nie działa Q. Google udostępnił przykładową aplikację dla tych, którzy chcą sprawdzić, jak to wszystko działa.

Wydaje się, że przyspieszenie jest ogólnie rzecz biorąc nazwą gry, a Android Q ułatwia także zmianę ustawień systemowych w kontekście aktualnie uruchomionej aplikacji. Będzie to dostępne dla programistów za pośrednictwem interfejsu API panelu ustawień.

Aby wyświetlić panel ustawień, wystarczy użyć zamiaru takiego jak ACTION_VOLUME z działaniem panelu ustawień.

Ulepszenia łączności

Stos Wi-Fi został refaktoryzowany w Androidzie Q, aby poprawić prywatność i wydajność oraz ułatwić takie rzeczy, jak zarządzanie urządzeniami IoT lub sugerowanie połączeń internetowych bez konieczności posiadania pozwolenia na lokalizację.

Bardziej interesujące jest to, że deweloperzy będą mogli uzyskać dostęp do trybów wysokiej wydajności i małych opóźnień. Ta ostatnia będzie szczególnie przydatna w przypadku gier (i przesyłania strumieniowego gier!).

Możesz uzyskać do nich dostęp, dzwoniąc do WiFiManager.WiFiLock.creatWifiLock () i używając WIFI_MODE_FULL_LOW_LATENCY lub WIFI_MODE_FULL_HIGH_PERF.

Nowe opcje multimediów - obsługa kodeków i dane głębokości

Twórcy będą mogli teraz korzystać z tych kamer z wykrywaniem głębi. Obrazy dynamicznej głębi mogą być wymagane i będą zawierać JPG, metadane XMP opisujące elementy głębokości oraz mapę ufności głębokości.

Może to być przydatne w aplikacjach do kamer i aplikacjach do edycji obrazu, ale być może bardziej ekscytujący jest potencjał aplikacji AR. Google współpracuje z producentami OEM, aby zapewnić, że jest ona dostępna na wszystkich urządzeniach obsługujących Q.

Android Q będzie również obsługiwał kodek wideo AV1 typu open source, który pozwala na przesyłanie strumieniowe wysokiej jakości przy niższych wymaganiach dotyczących przepustowości. Nadchodzi także kodowanie audio przez Opus. Dzięki API MediaCodecInfo łatwiej będzie teraz rozpoznać opcje renderowania dostępne na danym urządzeniu.

Natywny interfejs API MIDI umożliwia także komunikację z urządzeniami MIDI za pośrednictwem NDK. Nowe API MicrophoneDirection pozwoli programistom ustawić kierunek mikrofonu podczas nagrywania dźwięku. Spowoduje to również standaryzację kontroli nad mikrofonami z funkcją zoomu.

Kolejną nową funkcją jest możliwość nagrywania dźwięku z innych aplikacji. Będzie to przydatne w przypadku przesyłania strumieniowego gier, tworzenia napisów i tłumaczenia.

Ulepszona wydajność - Vulkan i Android Runtime

Twórcy gry powinni korzystać z ulepszonego wsparcia Vulkan na całej planszy. Deklarowanym celem Google jest zapewnienie obsługi interfejsu API na wszystkich 64-bitowych urządzeniach z Androidem Q. Firma pracuje również nad standardowym i aktualizowanym sterownikiem OpenGL dla urządzeń opartych na Vulkan. Android Q doda także eksperymentalną obsługę ANGLE - warstwy abstrakcji, która powinna pozwolić na gry korzystające z OpenGL ES na wykorzystanie wydajności i stabilności Vulkanu. OpenGL ES 2.0 będzie także obsługiwany w wersji Q, a obsługa wersji 3.0 będzie dostępna wkrótce.

Możesz także oczekiwać poprawy ogólnej wydajności swoich aplikacji. Częściowo zostanie to osiągnięte dzięki ulepszeniom środowiska uruchomieniowego Androida, które pozwolą aplikacjom uruchamiać się szybciej i zużywać mniej pamięci (chociaż Gary nie znalazł tego w swoim Testie prędkości G na starszym urządzeniu).

Aby poprawić stabilność, Google ograniczy również dostęp do prywatnych interfejsów API. Listę osób znajdujących się na szarej liście można znaleźć tutaj. Google obiecuje, że publiczne alternatywy zostaną udostępnione we wszystkich przypadkach.

Zmiany interfejsu użytkownika - nawigacja gestowa i tryb ciemny

Od wersji Beta 3 deweloperzy mogą teraz wspierać „ciemny motyw”, rozszerzając swój motyw z „Theme.AppCompat.DayNight” lub komponentów materiałowych. Następnie możesz ustawić własne domyślne ustawienia motywu nocnego. Upewnij się, że użytkownicy mają możliwość przełączania motywów według własnego uznania, i pomyśl o tym, jak układ i widoczność.

Android Q będzie również obsługiwał nawigację gestami, jak prawie każda skórka Androida, co wprowadzi nowe uwagi dotyczące interfejsu użytkownika dla użytkowników. Na przykład: zastanów się, czy gesty zapieczętowane w unikalnym interfejsie Twojej aplikacji spowodują zamieszanie wśród użytkowników. W takich przypadkach programiści mogą zdecydować, czy użyć „prostokątów wykluczających gesty”, aby zastąpić gesty systemowe, czy po prostu zmienić sposób interakcji użytkowników z ich aplikacjami. Pomyśl także o tym, aby w większym stopniu wykorzystać tę dodatkową nieruchomość ekranową spowodowaną utratą przycisków.

Klasa TextClassifier pozwoli programistom wykryć język fragmentu tekstu. Wreszcie, inteligentne akcje wypełnią pola szybkiej odpowiedzi w powiadomieniach logicznymi opcjami. Zmniejszy to trochę narzutu dla programistów, którzy nie będą już musieli kodować tej funkcji od zera.

Odpowiadając na opinie, najnowsze zmiany w Beta 5 dodały opcję „podglądu” dla aplikacji korzystających z losowania nawigacji oraz szybki skrót dostępu do asystenta. Beta 6 wprowadziła ustawienie czułości dla gestu cofania, wraz z limitem wyłączenia aplikacji w pionie wynoszącym 200dp.

Jak spróbować

Jeśli wszystko to pobudziło Twoją wyobraźnię (lub sprawiło, że poczułeś się trochę niespokojny), istnieje kilka sposobów, aby uruchomić Androida Q.

Możesz załadować Android Q Beta na urządzenie Pixel. Jeśli jednak nie masz przy sobie Pixela - lub jeśli nie chcesz instalować wersji beta systemu operacyjnego w swoim codziennym sterowniku - możesz zamiast tego wybrać łatwiejszą konfigurację za pomocą AVD Managera.Po prostu otwórz Menedżera SDK, a następnie powinieneś być w stanie wybrać obraz systemu dla Androida Q Beta, aby go pobrać.

Począwszy od Androida Q Beta 4 i nowszych, wszystkie interfejsy API są teraz dostępne dla programistów, którzy mogą rozpocząć testowanie swoich aplikacji, a Google już akceptuje te ukierunkowane na API 29 w Sklepie Play.

Co sądzisz o tych zmianach? Czy możesz wymyślić jakieś nowe funkcje, które będziesz mógł wprowadzić do swoich projektów? A może masz teraz dużo pracy, aby obejść aktualizacje zabezpieczeń?

EE była wiodącym operatorem komórkowym w Wielkiej Brytanii podcza wdrażania krajowych ieci 4G LTE i od tego czau pozotaje najwiękzą iecią komórkową w Wielkiej Brytanii. Zotał przejęty przez ...

Jeśli nie podoba Ci ię kupowanie telefonów na podtawie umów, odblokowane telefony z Androidem ą dla Ciebie. ą dotępne u różnych przedawców detalicznych i mogą być używane z wybrany...

Wybór Strony