Android Q за разработчици: Всичко, което трябва да знаете

Автор: Louise Ward
Дата На Създаване: 9 Февруари 2021
Дата На Актуализиране: 3 Юли 2024
Anonim
Массимо Банци: Как Arduino пробуждает воображение
Видео: Массимо Банци: Как Arduino пробуждает воображение

Съдържание


От гледна точка на потребителя, новата версия на Android обикновено е вълнуващо време. Освен ако не ви хареса даден елемент от потребителския интерфейс, това обикновено означава по-добра производителност, по-голяма стабилност и множество нови функции.

Прочетете също: Най-добрите функции на Android Q, които трябва да знаете

За разработчиците актуализация като Android Q има тенденция да носи по-смесени чувства. Тези нови функции все още са добри новини, които потенциално позволяват по-интересна и мощна функционалност в нашите приложения. В същото време промените също представляват много работа, тъй като ние се втурваме да гарантираме, че проектите не само ще поддържат новата платформа и ще отговарят на нейните спецификации, но ще бъдат оптимизирани за нея, за да осигурят възможно най-доброто изживяване.

За тази цел тази публикация ще ви помогне да постигнете бързина, като споделите всички важни промени и разработки, за които знаем досега, за да имат предвид разработчиците.


Това в момента включва всички нови разработки до Beta 6. Това вероятно е последният път, когато ще актуализираме тази публикация преди окончателното издание!

Android Q за разработчици с един поглед - това, което наистина трябва да знаете

Ето какво всъщност трябва да знаете:

  • Ще бъдат необходими нови разрешения за местоположение.
  • Поддръжката за мулти-резюме изисква явни промени.
  • Обхватът на обхвата ще промени начина, по който запазвате и достъп до файлове на външно хранилище.
  • Сканирането за местоположение сега изисква FINE местоположение.
  • Информацията като IMEI вече е ограничена.
  • Приложенията за фон вече не могат да стартират дейности на преден план.
  • Въпреки че не е стриктно свързан с Android Q, се въвеждат нови спецификации за иконите на приложения.
  • По същия начин, по-късно тази година, разработчиците ще бъдат принудени да поддържат Android Pie най-малко. Предупрежденията ще се появят в приложенията, ако не се придържат.
  • И всички приложения ще трябва да осигурят 64-битови версии до края на годината.
  • Новите навигации на системни жестове могат да повлияят на потребителския интерфейс на приложението.

Ето няколко готини нови функции, които може да ви интересуват:


  • Многократното възобновяване ще позволи по-мощно многозадачност.
  • Можете да тествате промените в емулатора чрез Android 3.5 Canary release release.
  • Сега разработчиците могат да имат достъп до повече данни от сензори за дълбочина.
  • Devs могат да изберат да поддържат тъмна тема.
  • Налични са WiFi режими с висока производителност и ниска латентност.
  • TextClassifier ще позволи на разработчиците да идентифицират езика на част от текста.
  • API на MicrophoneDIrection ще ви позволи да изберете посоката на микрофона при запис.
  • Мехурчетата ще позволят по-лесно многозадачност и богати известия.
  • Повишена поддръжка на медийни кодеци.
  • Споделянето на преки пътища ще улесни споделянето на медии от приложенията.
  • Бързите настройки ще позволят лесен достъп до настройки, свързани с текущото приложение.
  • Поддръжката на Vulkan се натиска силно.
  • Повече операции с невронна мрежа.
  • Подобренията в средата на изпълнение на Android ще помогнат на приложенията ви да обядват по-бързо (на теория).

За повече подробности относно всички тези неща и още по-малки промени, продължете да четете. Също така ще разгледаме как можете да започнете да тествате приложението си в Android Q в момента.

Разрешенията за местоположение вижте подобрени възможности за защита

Всяка нова итерация на Android носи със себе си нови функции, предназначени да осигурят по-сигурно и лично преживяване за потребителите. Този път те печелят повече контрол върху информацията за местоположението. Преди това потребителите могат да предоставят или да откажат достъп до данни за местоположение на едро. Този път те ще могат да избират трета опция, която да предоставя тези данни само докато приложението се използва - когато се изпълнява на преден план.

Това се надяваме да означава, че потребителите няма да откажат да инсталират приложение изцяло, защото не искат „да ги гледа“, въпреки че формулировката, използвана за разрешението за местоположение на фонов режим, може да е малко пренебрежителна:

„Разрешаване на приложението за достъп до местоположението на това устройство през цялото време?

Ох!

Както и да се чувствате за това, това означава, че ще трябва да направите няколко промени. По-конкретно, разработчиците, насочени към Q, ще трябва да добавят следния ред в манифеста на приложението си: android.permission.ACCESS_BACKGROUND_LOCATION.

Ако имате по-старо приложение, Android ще добави това разрешение в допълнение към ACCESS_FINE_LOCATION или ACCESS_COARSE_LOCATION по подразбиране.

Повече информация за това как да настроите това е достъпна от Google тук.

Обхватът на паметта променя начина, по който получавате достъп до външни файлове

Докато сме на тема поверителност, потребителите също ще могат да контролират достъпа до споделените файлове в папките Снимки, Видео и Аудио с нови разрешения за изпълнение, заместващи READ_EXTERNAL_STORAGE и WRITE_EXTERNAL_STORAGE. Достъпът до папката "Изтегляния" ще бъде наличен и само чрез инструмента за избор на системни файлове, като предоставя на потребителите пълен контрол върху това кои файлове са достъпни.

За да настроите това, ще трябва да поискате нови разрешения като READ_MEDIA_IMAGES и след това да получите достъп до колекциите чрез API на MediaStore. Можете да намерите пълните инструкции тук.

За да се уравновеси, приложенията вече ще имат своя „изолирана пясъчна кутия за съхранение“, която предоставя папка, ограничена до това приложение, разположено на външно хранилище. Това има за цел да намали нуждата от разрешения, като се надяваме да е малко по-гъвкава от предоставяното в момента вътрешно съхранение. Все още ще трябва да архивирате тези файлове, като ги преместите в колекциите на MediaStore или използвате рамката за достъп до съхранение, ако искате те да останат след деинсталирането на приложението. Това неизбежно ще създаде някои препятствия в няколко уникални случая на използване.

Ако искате да получите достъп до файлове от изолирани пясъчници за съхранение на други приложения на външно съхранение, има някои предупреждения. Това е активирано по подразбиране за общи типове мултимедийни файлове (като снимки и музика). Ако обаче искате да получите достъп до други файлове, създадени от отделно приложение, ще трябва да използвате ACTION_OPEN_DOCUMENT и ACTION_OPEN_DOCUMENT_TREE намеренията да поискате достъп до конкретен файл (който потребителят ще предостави или отмени).

Повече промени в сигурността

Няколко други промени в сигурността, които трябва да вземете предвид:

  • Приложенията на заден план вече няма да могат да стартират дейности на преден план, тъй като това може да бъде мъчно за потребителите. Вместо това ще трябва да използвате известие с висок приоритет с намерение на цял екран за неща като входящи обаждания.
  • Устройствата ще имат рандомизирани MAC адреси в различни Wi-Fi мрежи по подразбиране (това не е задължително в Pie).
  • Достъпът до информация като IMEI на устройството и сериен номер вече ще бъде ограничен. Повече информация тук.
  • API-тата за сканиране на мрежи вече ще изискват разрешение за местоположение FINE.
  • Добавена е поддръжка за WPA3 и подобрени отворени Wi-Fi стандарти.
  • Изглежда, че приложенията вече няма да могат да превключват Wi-Fi, вместо това ще бъдат принудени да разчитат на новия панел за настройки.

Бъдеща проверка - сгъваеми устройства, многократно възобновяване и невронни мрежи

Android Q също предприема редица стъпки, за да се подготви за бъдещето на хардуера. Знаете какво означава това: сгъваеми! Или както ги нарича Google: „новаторски нови екрани.“

Големите развития са подобрения на onResume и onPause. Те вече ще поддържат „многократно възобновяване“ и ще уведомяват приложението, когато придобие фокус. Multi-Resume ефективно позволява на два приложения да се стартират едновременно, без да се прави пауза (както правят в момента). Това вероятно ще се отрази на всички приложения в режим на много прозорци (не само тези на сгъваеми дисплеи), в крайна сметка ще доближи нашите телефони още до истинската производителност. Ако искате да видите как изглежда в момента, можете да опитате нещо подобно чрез приложението MultiStar на Samsung (част от Good Lock).

Освен многократно възобновяване, Android Q също вижда промени в onResume и onPause - може би някои от най-фундаменталните промени, които виждаме от известно време.

Сменя се и атрибутът на манифеста на активността, който може да се промени, за да се справи с редовното удвояване на размера, когато дисплеите се отварят.

Всичко това е в голяма степен добра новина за разработчиците, които сега се нуждаят от по-малко притеснения как да обработват приложенията си, които са поставени на пауза, но видими. Въпреки това, той въвежда още повече потенциални случаи на използване и видове дисплей към вече силно фрагментирана платформа. Забавно забавление.

Отново, за да приложите всичко това, ще трябва да направите някои промени в манифеста и конкретно да включите маркера: android.allow_multiple_resumed_activities. От Beta 2 и 3, разработчиците ще могат сами да тестват това с помощта на сгъваемия емулатор чрез AVD.

API Neural Networks API 1.2 също идва, като донесе 60 нови операции и подобрена функционалност. Опциите включват харесванията на ARGMAX, ARGMIN и Quantized LSTM, което по същество трябва да даде възможност за по-добро разпознаване на обекти и сегментиране на изображенията.

Повече многозадачност с балони

Сякаш истинското многозадачност не е достатъчно, Android Q ще въведе още един начин да направите повече от едно нещо наведнъж: балони. Тези балони ефективно действат като форма на известие, но предоставят повече информация и дори показват цели дейности на върха на това, което потребителят извършва в момента. Това позволява бърз достъп до такива неща като бележки, преводи и чатове. По същество чат глави тогава.

балончетата ефективно действат като форма на уведомяване

Разработчиците ще имат достъп до новата функция чрез API, изграден на върха на текущата система за уведомяване. За да изпращате мехурчета, ще използвате setBubbleMetadata и след това ще осигурите активност, която да се показва в балона заедно с икона.

Споделяне на преки пътища и панела за настройки

Google иска да улесни потребителите да споделят съдържание от приложения и по този начин ще въведе „Споделяне на преки пътища“, за да позволи на потребителите да прескачат направо в друго приложение. Разработчиците ще могат да публикуват „споделяне на цели“, за да стартират конкретни дейности с приложеното съдържание и те ще бъдат показани на потребителите чрез потребителския интерфейс. От Beta 2 вече можете да осигурите преглед на данните, които се споделят.

Това ще работи подобно на преките пътища към приложенията и така ще бъде достъпно чрез API за бърз инфо. Ще има и нова библиотека на ShareTarget AndroidX, която ще работи за устройства, които не работят Q. Google сподели примерно приложение за тези, които искат да проверят как работи всичко това.

Изглежда, че ускоряването на нещата е името на играта като цяло, като Android Q също улеснява промяната на системните настройки в контекста на текущо работещото приложение. Това ще бъде достъпно за разработчиците чрез API на панела за настройки.

За да се покаже панелът с настройки, просто ще трябва да използвате намерение като ACTION_VOLUME с действие на панела за настройки.

Подобрения в свързаността

Стекът на Wi-Fi е възстановен отново в Android Q с цел подобряване на поверителността и производителността и за улесняване на нещата като управление на IoT устройства или предлагане на интернет връзки, без да е необходимо разрешение за местоположение.

По-интересното е обаче, че разработчиците ще имат достъп до режими с висока производителност и ниска латентност. Последното ще бъде особено полезно за игри (и стрийминг на игри!).

Можете да получите достъп до тях, като се обадите на WiFiManager.WiFiLock.creatWifiLock () и използвате WIFI_MODE_FULL_LOW_LATENCY или WIFI_MODE_FULL_HIGH_PERF.

Нови опции за медия - поддръжка на кодек и данни за дълбочината

Devs вече ще могат да се възползват от тези камери за дълбочинна сензора. Изображенията с динамична дълбочина могат да бъдат заявени и ще съдържат JPG, XMP метаданни, описващи елементи на дълбочината, и карта на достоверността на дълбочината.

Това може да бъде полезно за приложенията за камера и приложенията за редактиране на изображения, но може би по-вълнуващ е потенциалът за AR приложенията. Google работи с OEM производители, за да гарантира, че това е достъпно на всички Q-поддържащи устройства.

Android Q ще поддържа и видео кодек с отворен код AV1, който позволява висококачествено поточно предаване с по-ниски изисквания за честотна лента. Кодирането на аудио чрез Opus също идва. Чрез MediaCodecInfo API вече ще бъде по-лесно да се разберат опциите за изобразяване, налични на дадено устройство.

Народният MIDI API също ще позволи комуникация с MIDI устройства чрез NDK. Новият API на MicrophoneDirection ще позволи на разработчиците да зададат посоката на микрофона по време на аудио запис. Това ще стандартизира и контрола върху увеличените микрофони.

Друга нова функция е възможността за запис на аудио от други приложения. Това ще бъде полезно за неща като поточна игра, надписи и преводи.

Подобрена производителност - Vulkan и Android Runtime

Играта разработчиците трябва да се възползват от подобрената поддръжка на Vulkan във всички области. Заявената цел на Google е да гарантира, че API се поддържа на всички 64-битови устройства, работещи под Android Q. Компанията също работи върху стандартен и актуализиран драйвер на OpenGL за устройства, изградени на Vulkan. Android Q ще добави и експериментална поддръжка за ANGLE - абстракционен слой, който трябва да позволява на игри, използващи OpenGL ES, да се възползват от ефективността и стабилността на Vulkan. OpenGL ES 2.0 също ще се поддържа в Q, като поддръжка за 3.0 идва скоро след това.

Можете също така да очаквате да видите подобрена обща производителност във вашите приложения. Това отчасти ще бъде постигнато чрез подобрения на Android времето, което ще позволи на приложенията да стартират по-бързо и да изразходват по-малко памет (въпреки че Гари не откри това в своя тест за скорост G с помощта на по-старо устройство).

В опит да подобри стабилността, Google също ще ограничи достъпа до частни API. Можете да намерите списък на онези, които са в грейлист тук. Google обещава, че публичните алтернативи ще бъдат достъпни във всички случаи.

Промени в потребителския интерфейс - жестова навигация и тъмен режим

От Beta 3, разработчиците вече могат да изберат да поддържат „тъмната тема“, като разширят темата си от „Theme.AppCompat.DayNight“ или материални компоненти. След това можете да зададете свои собствени настройки за нощна тема. Не забравяйте да дадете на потребителите възможност да превключват теми, както желаят, и помислете как вашето оформление и видимост.

Android Q също ще поддържа навигация с жестове като почти всеки Android Skin, което ще въведе нови потребителски съображения за потребителите. Например: помислете дали жестовете, изпечени в уникалния потребителски интерфейс на приложението ви, ще предизвикат объркване за потребителите. В такива случаи, разработчиците могат да избират дали да използват „правоъгълници за изключване на жестове“, за да отменят жестовете на системата или просто да променят начина, по който потребителите взаимодействат с техните приложения. По същия начин помислете как да се възползвате повече от тази допълнителна екранна недвижима собственост, осигурена от загубата на бутони.

Класът TextClassifier ще позволи на разработчиците да открият езика на част от текста. И накрая, Smart Actions ще попълни полета за бърз отговор в рамките на известията с логически опции. Това ще намали някои режийни разходи за разработчиците, които вече няма да трябва да кодират тази функционалност от нулата.

В отговор на обратната връзка, последните промени в Beta 5 добавиха опция „надникване“ за приложения, използващи навигационното рисуване, и бърз пряк път за достъп до асистента. Бета 6 донесе настройка за чувствителност за жеста на гърба, заедно с 200dp вертикално ограничение за изключване на приложение.

Как да го подканя

Ако всичко това е разпалило въображението ви (или ви е направило малко тревожност), има няколко начина, по които можете да активирате Android Q.

Можете да заредите Android Q Beta на Pixel устройство. Ако не се случва Pixel да лежи наоколо - или ако не желаете да инсталирате бета операционна система на ежедневния си драйвер - тогава можете да преминете по-лесния път на настройката му с помощта на AVD Manager.Просто отворете SDK Manager и тогава трябва да можете да изберете системно изображение за Android Q Beta, за да го изтеглите.

От Android Q Beta 4 и по-нови версии, всички API вече са достъпни за разработчиците да започнат да тестват приложенията си и Google вече приема тези, насочени към API 29 в Play Store.

Какво мислите за тези промени? Можете ли да мислите за нови функции, които ще можете да внесете във вашите проекти? Или имате много работа сега, за да заобиколите актуализациите за сигурност?

Актуализация, 14 февруари 2019 г. (12:30 ч. ET):Слухът около Amazon, който отменя плановете си за изграждане на нова централа в Ню Йорк (както беше обсъдено в статията по-долу), се оказа истинен. Днес...

Днес Google обяви нова функция, която ви позволява да потвърдите самоличността си, като използвате вашия пръстов отпечатък или заключване на екрана вместо парола, когато посещавате определени услуги н...

Съветски