Android Q для разработчиков: все, что нужно знать

Автор: Louise Ward
Дата создания: 9 Февраль 2021
Дата обновления: 2 Июль 2024
Anonim
Есть ли перспективы у Android разработчиков?
Видео: Есть ли перспективы у Android разработчиков?

Содержание


С точки зрения пользователя, новая версия Android - это обычно захватывающее время. Если вам не нравится определенный элемент пользовательского интерфейса, это обычно означает лучшую производительность, большую стабильность и множество новых функций.

Также прочитайте: Основные функции Android Q, которые вы должны знать

Для разработчиков обновление, такое как Android Q, имеет тенденцию вызывать более смешанные чувства. Эти новые функции все еще являются хорошими новостями, потенциально обеспечивающими более интересные и мощные функции в наших приложениях. В то же время, изменения также представляют собой большую работу, так как мы стремимся к тому, чтобы проекты не только поддерживали новую платформу и соответствовали ее спецификациям, но и оптимизировались для нее, чтобы обеспечить наилучший возможный опыт.

С этой целью этот пост поможет вам освоиться, поделившись всеми важными изменениями и разработками, о которых мы знаем разработчикам до сих пор.


В настоящее время это включает в себя все новые разработки до бета-версии 6. Вероятно, в последний раз мы будем обновлять этот пост перед финальным выпуском!

Краткий обзор Android Q для разработчиков - что вам действительно нужно знать

Вот что вам действительно нужно знать:

  • Новые разрешения на местоположение будут необходимы.
  • Поддержка мульти-резюме требует явных изменений.
  • Хранилище с областью действия изменит способ сохранения файлов и доступа к ним на внешней памяти.
  • Для сканирования местоположения теперь требуется точное местоположение.
  • Информация, такая как IMEI, теперь ограничена.
  • Фоновые приложения больше не могут запускать действия на переднем плане.
  • Хотя он не имеет прямого отношения к Android Q, вводятся новые спецификации для значков приложений.
  • Аналогично, в конце этого года разработчики будут вынуждены поддерживать Android Pie как минимум. Предупреждения появятся в приложениях, если они не придерживаются.
  • И все приложения должны будут предоставить 64-битные версии к концу года.
  • Новые системные жесты могут повлиять на пользовательский интерфейс приложения.

Вот несколько интересных новых функций, которые могут вас заинтересовать:


  • Multi-резюме позволит более мощную многозадачность.
  • Вы можете проверить изменения в эмуляторе через канал релиза Android 3.5 Canary.
  • Разработчики теперь могут получить доступ к большему количеству данных от датчиков глубины.
  • Разработчики могут выбрать поддержку темной темы.
  • Высокая производительность и режимы 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 или используя Storage Access Framework, если вы хотите, чтобы они оставались после удаления приложения. Однако это неизбежно создаст некоторые препятствия в нескольких уникальных сценариях использования.

Если вы хотите получить доступ к файлам из изолированных изолированных программных хранилищ других приложений во внешнем хранилище, то есть несколько предостережений. Это включено по умолчанию для распространенных типов мультимедийных файлов (таких как фотографии и музыка). Однако если вы хотите получить доступ к другим файлам, созданным отдельным приложением, вам нужно будет использовать ACTION_OPEN_DOCUMENT и ACTION_OPEN_DOCUMENT_TREE для запроса доступа к определенному файлу (который пользователь предоставит или отменит).

Больше изменений безопасности

Несколько других изменений безопасности, чтобы рассмотреть:

  • Фоновые приложения больше не смогут запускать действия на переднем плане, так как это может раздражать пользователей. Вместо этого вам нужно использовать высокоприоритетное уведомление с полноэкранным режимом для таких вещей, как входящие звонки.
  • По умолчанию устройства будут иметь рандомизированные MAC-адреса в разных сетях Wi-Fi (это было необязательно в Pie).
  • Доступ к такой информации, как IMEI устройства и серийный номер, теперь будет ограничен. Больше информации здесь.
  • API для сканирования сетей теперь требуют разрешения FINE location.
  • Добавлена ​​поддержка стандартов WPA3 и Enhanced Open Wi-Fi.
  • Похоже, что приложения больше не смогут переключать Wi-Fi, вместо этого они вынуждены полагаться на новую панель настроек.

Проверка будущего - складные устройства, мульти-резюме и нейронные сети

Android Q также предпринимает ряд шагов, чтобы подготовиться к будущему аппаратному обеспечению. Вы знаете, что это значит: складные! Или, как их называет Google: «новые инновационные экраны».

Большие разработки - это улучшения onResume и onPause. Теперь они будут поддерживать «многократное возобновление» и уведомлять приложение, когда оно получит фокус. Multi-Resume позволяет двум приложениям работать одновременно без остановки (как в настоящее время). Это, вероятно, повлияет на все приложения в многооконном режиме (не только на складные дисплеи), что в конечном итоге приблизит наши телефоны к истинной производительности, аналогичной настольной. Если вы хотите посмотреть, как это выглядит сейчас, вы можете попробовать нечто подобное через приложение MultiStar на Samsung (часть Good Lock).

Помимо многократного возобновления, Android Q также видит изменения в onResume и onPause - возможно, некоторые из самых фундаментальных изменений, которые мы видели некоторое время.

Изменяемый атрибут Activity манифеста также изменяется, чтобы помочь справляться с регулярным удвоением размера при открытии дисплеев.

Все это в значительной степени хорошая новость для разработчиков, которым теперь не нужно беспокоиться о том, как обрабатывать приложения, когда они приостановлены, но видны. Тем не менее, он представляет еще больше потенциальных вариантов использования и типов отображения для уже сильно фрагментированной платформы. Весело весело.

Опять же, чтобы реализовать все это, вам нужно внести некоторые изменения в манифест и, в частности, включить тег: android.allow_multiple_resumed_activities. Начиная с бета-версии 2 и 3, разработчики смогут сами проверить это, используя эмулятор складных форм через AVD.

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

Больше многозадачности с пузырьками

Как будто настоящей многозадачности было недостаточно, Android Q также представит еще один способ сделать больше, чем одну вещь одновременно: пузыри. Эти пузырьки эффективно действуют как форма уведомления, но предоставляют больше информации и даже показывают целые действия поверх того, что пользователь делает в настоящее время. Это обеспечивает быстрый доступ к таким вещам, как заметки, переводы и чаты. По сути чат головы.

пузырьки эффективно действуют как форма уведомления

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

Совместное использование ярлыков и панели настроек

Google хочет, чтобы пользователям было проще делиться контентом из приложений, и поэтому он будет вводить «Совместное использование ярлыков», чтобы пользователи могли сразу перейти в другое приложение. Разработчики смогут публиковать «общие цели» для запуска определенных действий с прикрепленным контентом, и они будут показаны пользователям через пользовательский интерфейс. Начиная с бета-версии 2, теперь вы можете предоставить предварительный просмотр данных для обмена.

Это будет работать аналогично ярлыкам приложений и будет доступно через API-интерфейс ShortcutInfo. Также будет новая библиотека 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.

Новые опции мультимедиа - поддержка кодеков и данные о глубине

Теперь разработчики смогут воспользоваться этими камерами, чувствительными к глубине. Динамические изображения глубины могут быть запрошены и будут содержать JPG, метаданные XMP, описывающие элементы глубины, и карту достоверности глубины.

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

Android Q также будет поддерживать видеокодек с открытым исходным кодом AV1, который обеспечивает потоковую передачу высокого качества с меньшими требованиями к пропускной способности. Аудиокодирование через Opus также идет. С помощью API MediaCodecInfo теперь также будет легче различать параметры рендеринга, доступные на данном устройстве.

Нативный API-интерфейс MIDI также позволяет осуществлять связь с 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, которое позволит приложениям запускаться быстрее и потреблять меньше памяти (хотя Гэри не нашел этого в своем Speed ​​Test G, использующем старое устройство).

В целях повышения стабильности Google также будет ограничивать доступ к частным API. Вы можете найти список тех, кто занесен в серый список здесь. Google обещает, что публичные альтернативы будут доступны во всех случаях.

Изменения пользовательского интерфейса - жестовая навигация и темный режим

Начиная с бета-версии 3, разработчики теперь могут поддерживать «темную тему», расширив свою тему от «Theme.AppCompat.DayNight» или компонентов материала. Затем вы можете установить свои собственные настройки ночной темы по умолчанию. Не забудьте дать пользователям возможность переключать темы по своему усмотрению, и подумайте о том, как ваш макет и видимость.

Android Q также будет поддерживать жестовую навигацию, как почти каждый скин Android, что представит пользователям новые аспекты пользовательского интерфейса. Например: подумайте, не вызовут ли пользователи запутанные жесты в уникальном интерфейсе вашего приложения. В подобных случаях разработчики могут выбрать, использовать ли «прямоугольники исключения жестов» для переопределения жестов системы или просто изменить способ взаимодействия пользователей со своими приложениями. Точно так же подумайте о более активном использовании этого дополнительного экрана, обеспечиваемого потерей кнопок.

Класс TextClassifier позволит разработчикам определять язык фрагмента текста. Наконец, Smart Actions будет заполнять поля быстрого ответа в уведомлениях логическими опциями. Это уменьшит некоторые накладные расходы для разработчиков, которым больше не нужно кодировать эту функциональность с нуля.

Отвечая на отзывы, последние изменения в бета-версии 5 добавили «просмотр» для приложений, использующих навигацию, и быстрый ярлык для доступа к помощнику. Бета 6 принесла настройку чувствительности для жеста спины, а также вертикальный предел исключения приложения 200dp.

Как попробовать

Если все, что пробудило ваше воображение (или заставило вас немного взволноваться), есть несколько способов, которыми вы можете раскрутить Android Q.

Вы можете загрузить Android Q Beta на устройство Pixel. Если у вас нет пикселя, лежащего без дела, или если вы не хотите устанавливать бета-версию операционной системы на свой ежедневный драйвер, тогда вы можете вместо этого пойти по более простому пути настройки с помощью AVD Manager.Просто откройте SDK Manager, и вы сможете выбрать системный образ для Android Q Beta, чтобы загрузить его.

Начиная с Android Q Beta 4 и выше, все API-интерфейсы теперь доступны для разработчиков, чтобы начать тестировать свои приложения, и Google уже принимает эти API с таргетингом на API 29 в Play Store.

Что вы думаете об этих изменениях? Можете ли вы вспомнить какие-либо новые функции, которые вы сможете использовать в своих проектах? Или у вас много работы, чтобы обойти обновления безопасности?

В мире цифровой фотографии захват хорошего объекта - это только первый шаг. С помощью мощного программного обеспечения, такого как Adobe Lightroom, вы можете максимизировать вашу производительность и ...

С сегодняшнего дня по 31 августа OnePlu предлагает скидку 50 долларов на все доступные модели OnePlu 6T. Даже версия McLaren Edition, которая исчезла с веб-сайта OnePlu до сегодняшнего дня, теперь дос...

Рекомендовано нами