Android M и инструменты для разработчиков

Привет, Хабрахабр! В прошлом году мы впервые предоставили разработчикам тестовую версию Android L и получили множество полезных отзывов, которые касались Material Design, а также новых платформ Android Auto, TV и Wear. Вчера на конференции Google I/O мы объявили о повторении нашего удачного опыта: встречайте тестовую версию Android M.a2938598a8fe7ce4e3889b1e0d631f7c.pngРазработчики остались довольны ранним доступом к новой версии Android в прошлом году: он позволил обновить и оптимизировать приложения для новой версии операционной системы, в которой было введено много нового (в том числе и полностью переосмыслен дизайн и гайдлайны по проектированию интерфейса). Мы хотим и дальше предоставлять разработчикам возможность качественно подготовиться к релизу новой версии ОС: как вы и просили, мы обеспечим более четкий график обновлений SDK и тестовой версии Android M.

Android L принёс с собой абсолютно новый пользовательский интерфейс, новую среду исполнения программ ART, увеличил скорость работы и отзывчивость интерфейса. В Android M мы сосредоточились на улучшении базового пользовательского опыта: устранили различные ошибки и внесли крупные изменения в основные элементы платформы.Разрешения для приложенийМы решили дать пользователям больше возможностей контролировать доступ приложений к ресурсам смартфона. Теперь запросы будут появляться прямо во время работы приложения, в соответствующем контексте, и пользователи смогут выбрать, давать разрешение или нет. Кроме того, пользователи смогут легко управлять правами установленных приложений через системное меню настроек. Это изменение упрощает процесс установки и способствует ускорению обновлений, так как вмешательства пользователей при изменении списка разрешений больше не потребуется.

image Количество устройств на Android M будет увеличиваться, и данное изменение потребует от разработчиков создавать приложения таким образом, чтобы запросы на доступ появлялись, когда это требуется, и учитывать, что некоторые разрешения на доступ не будут получены.

Наводим мостыApp Links — это новый способ «наводить мосты» между различными Android-приложениями. У разработчиков и раньше была возможность обрабатывать URL внутри приложений. В новом Android M можно добавить атрибут autoVerify в манифест приложения, чтобы пользователи могли без дополнительных запросов переходить по определённым ссылкам прямо в оригинальное приложение, минуя этап открытия браузера и окно выбора с продолжением в нативном приложении. App links, а также индексирование приложений для Google Поиска упрощает переход и возвращение между используемыми приложениями.

ЭнергосбережениеAndroid становится умнее, и это касается в том числе и систем управления питанием. Новая система «глубокого сна» («Doze») позволит вашим устройствам работать ещё дольше. Для оптимизации энергопотребления Android M будет обращаться к датчикам движения, определять, когда устройство не используется и переходить в режима максимального энергосбережения. При этом оповещения и важные сообщения по-прежнему будут приходить. Разработчикам же следует подготовиться к нововведениям и режиму «глубокого сна»: например, при разработке мессенджера можно использовать сообщения с высоким приоритетом, чтобы получить ответ от вашего приложения даже в режиме «глубокого сна».

Мы также рады сообщить о некоторых более крупных нововведениях.

Google Now в одно касание (Now on tap)Новая система взаимодействия с помощником Google Now позволит ещё проще получать подсказки. Предположим, вам пришло сообщение от приятеля, в котором он приглашает вас посетить новый ресторан. Вы сможете обратиться к Google Now, не переключаясь между приложениями. Проанализировав текст сообщения, сервис найдёт меню ресторана и отзывы о нём, поможет забронировать столик, проложит маршрут и предоставит ссылки на подходящие приложения.

image С Now в одно касание находить нужную информацию и выполнять различные действия можно очень быстро. Чтобы предоставить пользователям возможность работать с приложением через Google Now, от разработчика потребуется внедрить индексацию приложений для Google поиска.

Android Pay и отпечатки пальцевДля внедрения платёжной системы Android Pay требовалось два компонента, работающих на уровне системы: NFC, внедренный версии Android 2.3, и эмуляция банковских карт, которая появилась в версии Android 4.4. Вчера мы представили Fingerprints API — еще один компонент безопасной и простой системы, который позволяет работать с биометрическими данными на уровне ОС.

[embedded content]

Вместе Android M и Android Pay позволяют пользователям подтверждать покупки (как в розничных сетях, так и в Google Play) одним прикосновением к сканеру отпечатков пальцев. С добавлением поддержки отпечатков на системном уровне в Android M пользователи смогут обезопасить себя от несанкционированных покупок, разблокировать телефон и отдельные приложения;, а разработчики — использовать универсальные системные API для работы с биометрической авторизацией в своих приложениях, причём работать это будет на всех поддерживаемых системой устройствах и сканерах.

image На этом список нововведений Android M не заканчивается. Узнать подробнее обо всех изменениях и улучшениях новой версии Android можно по этой ссылке.

Было бы странно выпустить тестовую версию Android M с новыми функциями, но не предоставить соответствующие инструменты для разработки, поддерживающие новые возможности. Поэтому мы рады представить Adnroid Studio 1.3. Теперь разработчики смогут адаптировать свои приложения к новейшим API, которые поддерживает Android M.Ранний доступ к Android Studio 1.3В новую версию Android Studio мы добавили функцию, о которой давно просили разработчики Android NDK и игр: возможность изменять и отлаживать код на языке C или C++.

image NDK-плагин Android Studio создан на базе платформы JetBrains Clion и позволяет проводить рефакторинг и компиляцию кода C и C++, а также работать с Java-кодом вашего приложения. Поддержка этих языков программирования включена в единую среду разработки, бесплатную для разработчиков приложений Android. Установите Android Studio 1.3 через канал обновлений Canary сегодня и поделитесь с нами своим мнением.

Android Design Support LibraryРазрабатывать приложения по принципам Material Design стало ещё проще! Новая библиотека Android Design Support Library содержит набор основных компонентов, обратно совместимых с API 7, например, плавающую кнопку действий, строку состояния, панель навигации, панели инструментов. Не тратьте время на изобретение велосипеда, добавьте их в свое приложение, чтобы оно соответствовало оформлению системы.

Обновление Google Play ServicesGoogle Play Services версии 7.5 содержит в себе много новых возможностей, начиная с харнилища паролей Smart Lock, а также новых API для Google Cast и Google Cloud Messaging, и заканчивая доступом к API Карт Google на устройства Android Wear.

Мобильность стала синонимом повседневности: проверить почту по пути на работу, поделиться фотографией прямо в парке, устроить видеоконференцию, находясь в автомобиле — сейчас этим никого не удивишь. Тем не менее, у подобных приложений осталась одна проблема, которая в большинстве случаев просто не решается разработчиками ввиду её сложности и огромных трудозатрат. Как вы поняли, речь идёт о прекращении работы из-за потери интернет-соединения или необходимости повторной загрузки большого объёма данных при повторном открытии приложения.Сегодня мы с радостью представляем вам набор функций для SDK на Android и iOS, позволяющих вам создавать приложения, которые работают оффлайн без проблем. Встречайте Firebase Offline!

Работа с Firebase OfflineНовый SDK поддерживает сохранение ваших синхронизируемых данных на локальный диск. Таким образом, они становятся доступны вашему приложению сразу после его запуска. Включить режим синхронизации можно с помощью всего одной строчки кода:

// Android Firebase.getDefaultConfig ().setPersistenceEnabled (true); // Obj-C [Firebase defaultConfig].persistenceEnabled = YES; // Swift Firebase.defaultConfig ().persistenceEnabled = true C помощью новых инструментов вы сможете сами определить, какие данные требуется загружать заранее и сохранять для работы без интернет-соединения. Для этого используется функция keepSynced: // Android ref.keepSynced (true); //Obj-C [query keepSynced: YES]; Разработано специально для мобильных сетейДля обмена информацией между клиентом и сервером в базе данных Firebase вместо классической системы «запрос-ответ» используется синхронизация. Все операции по чтению и записи сначала выполняются в локальной версии базы данных, хранящейся на устройстве; затем происходит взаимный обмен информацией между серверами. Всё это позволяет Firebase компенсировать нестабильное соединение: локальные операции записи комбинируются с локальными операциями по чтению перед тем, как их подтвердит сервер.image Но и это ещё не всё. Приятным бонусом такого дизайна является более качественная оффлайн-работа приложения в целом. Поскольку все данные сперва проходят через локальную версию базы данных, SDK «выбирает» наиболее оптимальный источник: сеть или локальный диск. Позже, когда сеть становится доступной, SDK автоматически отправляет локальные изменения на сервер и получает от него последние обновления.

Firebase: всё уже проверено и работаетС самого начала мы создавали Firebase для поддержки работы приложений в режиме оффлайн — команде потребовалось несколько лет, чтобы завершить начатое. С 2013 года компания Citrix проводит бета-тестирование функции офлайн-поддержки для своего приложения Talkboard на базе iOS. При работе в таком режиме действия пользователя в приложении сохраняются на устройстве, а при подключении к Интернету синхронизируются с серверами. Например, вы нарисовали что-то на «холсте» в Talkboard, и даже если вы в этот момент не были подключены к Сети, рисунок не потеряется, а будет сохранен и передан на сервер как только подключение возобновится.

Android M для разработчиков включает в себя обновленный SDK с инструментами и образами системы, предназначенными для тестирования на официальном эмуляторе Android, а также на устройствах Nexus 5, Nexus 6, Nexus 9 и Nexus Player. Мы расширили программу тестирования, так что у вас будет больше времени на подготовку к окончательному запуску Android M этой осенью. Ваши отзывы помогут нам обновлять образы системы чаще. Чем раньше вы поделитесь с нами вашими впечатлениями, тем эффективнее пройдет тестирование! Чтобы начать работу с тестовой версией Android M и подготовить свои приложения к окончательному запуску, следуйте этим инструкциям:

Установите тестовую версию Android Studio 1.3+; Посетите сайт Android M для разработчиков; Ознакомьтесь с новыми API и Изменениями в разрешениях для приложений; Посетите справочную библиотеку дизайна Android и ознакомьтесь с API сервисов Google Play; Получите образы системы для тестирования через SDK Manager или скачайте образы системы для устройств Nexus; Протестируйте свои приложения на устройстве Nexus или эмуляторе; Поделитесь с нами своими впечатлениями. Начать работу с новым оффлайн-сервисом Firebase тоже очень просто: зайдите в раздел с руководствами по режиму офлайн для iOS или Android, там всё подробно рассказано, к тому же есть отличный пример с оффлайн-рисованием на устройствах iOS и Android. Мы будем рады вашим отзывам! Напишите нам в Google Группы или упомяните @Firebase в Twitter.

Ранний доступ к Android L позволил нам получить бесценную информацию, исправить многие недочёты, а также подготовиться к выпуску новой версии Android тысячам разработчиков по всему миру. Устанавливайте SDK, тестируйте работу Android M и приложений, встраивайте новые функции, а главное — делитесь информацией. Полный список ресурсов для общения разработчиков можно найти здесь. Нам важно каждое мнение, каждый отчёт об ошибке, каждое замечание и предложение. Совместными усилиями мы сможем сделать Android M ещё лучше.

© Habrahabr.ru