Не все новые функции Android 13 для разработчиков эксклюзивны

Android 13 предлагает ряд фантастических новых функций для разработчиков, включая обновление основных библиотек Java, некоторые из которых также появятся в старых версиях Android.

Последние несколько лет Google активно работает над Project Mainline, проектом по отделению основных компонентов Android от ежегодного цикла обновлений. Вместо этого они были разделены на модули, которые могут доставляться через Google Play Store, что вдыхает новую жизнь в старые версии Android.

Тем временем, разработчики Android-приложений уже давно могут пользоваться набором библиотек Jetpack. Помимо предоставления простого удобства, Google, где это возможно, будет переносить современные Android API на старые версии, чтобы разработчики могли сосредоточиться на улучшении своих приложений.

Неэксклюзивные функции Android 13

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

OpenJDK 11

Одним из изменений, которое, вероятно, затронет большинство мобильных разработчиков, является то, что с выходом Android 13 Google приводит реализацию Java в Android в большее соответствие с OpenJDK 11. Это включает в себя набор новых методов для работы со строками, массивами и опциональными типами. Java 11 также позволит уменьшить количество шаблонного кода, так как разработчики смогут вводить «var» при объявлении переменной, и компилятор автоматически будет выводить ее тип.

Google изложил некоторые детали того, что стоит ожидать от использования улучшений OpenJDK 11 в Android. Что особенно приятно, эти изменения также станут доступны для устройств на Android 12 в ближайшем будущем, благодаря крупному обновлению модуля Android Runtime (ART), которое должно поступить через системное обновление Play Store.

Выборщик фотографий

Аналогично, Google запустил новый выборщик фотографий для использования приложениями на Android 13, который предлагает простой, похожий на галерею подход к выбору одного или нескольких изображений для отправки/загрузки и т.д. Добавление его в существующее Android-приложение выглядит довольно просто, согласно документации, предоставленной Google. Наш Дилан Руссель смог продемонстрировать выборщик в действии в демонстрационном приложении за считанные минуты.

Благодаря обновлению модуля MediaProvider, которое поступит в виде системного обновления Play, этот новый интерфейс выборщика также станет доступен на устройствах Android 11 и 12. На данный момент неясно, как будет выглядеть современный выборщик фотографий на устройствах Android 11, учитывая, что Material You впервые появился с Android 12.

Изменение языка во время работы

Android 13 также обещает возможность для конечного пользователя использовать приложение на языке, отличном от текущего языка по умолчанию на его устройстве. Для этого Google предоставил способ для Android-приложений легко менять переводы во время работы приложения. Важно отметить, что Google делает эту возможность изменения перевода доступной для старых версий Android через будущую библиотеку Jetpack.

Эксклюзивные дополнения Android 13

Тем не менее, Google все же представил некоторые изменения, специфичные для Android 13, в первой версии Developer Preview, с малой вероятностью их появления в старых версиях.

Расстановка переносов

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

С Android 13 Google запускает два новых стиля расстановки переносов для разработчиков на выбор, предлагая «быстрые» версии «обычного» и «полного» стилей. Для повышения производительности до 200% эти «быстрые» стили игнорируют некоторые обычные лингвистические правила расстановки переносов и кернинга.

Запрос на добавление плитки быстрых настроек

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

В Android 13 ваше приложение теперь может вежливо предложить добавить свою пользовательскую плитку Быстрых настроек в набор пользователя. Одним касанием пользователь может принять или отклонить предложение, автоматически добавив плитку при желании.

Тематические иконки приложений

Google также изложил некоторые инструкции о том, как предложить «тематическую иконку» в стиле Material You для вашего приложения. Как только графика будет доработана, добавить иконку в файл AndroidManifest очень просто, всего одной строкой.

Корректировка разрешения Wi-Fi

Для разработчиков, чьи приложения подключаются через Wi-Fi к другим устройствам — например, при подключении к временной сети во время настройки IoT-устройства — Google ослабляет некоторые ограничения в Android 13. В частности, для этого появилось новое разрешение, NEARBY_WIFI_DEVICES, которое может быть объявлено как не использующееся для данных о местоположении. Это позволяет разработчикам устанавливать необходимые соединения, при этом пользователи не будут путаться относительно необходимости делиться своим «местоположением» с приложением.

И многое другое

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

В подготовке этой статьи участвовал Дилан Руссель.

Больше об Android 13: