Чем ещё важен выход тестовой версии для разработчиков? Тем, что именно разработчики понимают, как важен грамотный и своевременный фидбэк. Один хороший багрепорт может сохранить вам кучу времени, поэтому мы решили выпустить девелопер-превью намного раньше, чем делали это в прошлых версиях.
Текущая версия Android N является предварительной, и не все запланированные возможности имплементированы в доступных сборках, тем не менее, ряд крупных фич доступны для тестирования уже сейчас.
Мультиокна. Начиная с Android N (и разработанных для него приложений) вам будет доступен новый атрибут manifest — android:resizableActivity. Если атрибут имеет значение true, вашу активность можно запустить в режиме разделенных экранов на смартфонах и планшетах.
Параметры поведения приложения в таком режиме настраиваются: например, вы можете задать минимальные размеры окна активности, чтобы пользователи не могли его делать меньше. Работа приложения в мультиоконном режиме схожа с со сменой ориентации дисплея из пейзажной в портретную: изменения во внешнем виде приложения произойдут автоматически. Альтернативный вариант — позволить системе приостановить activity и перезапустить ее с новыми размерами.
Для устройств с большой диагональю (например, для ТВ-приставок и умных телевизоров) activity можно перевести в режим «картинка в картинке» Эта функция отлично подходит для приложений, в которых проигрываются видео. Чтобы использовать её на все 100%, не забудьте установить атрибуту android:supportsPictureInPicture значение true.
Оповещения о мгновенных ответах. API оповещения RemoteInput, который изначально был добавлен для работы с Android Wear, теперь работает в версии N для смартфонов и планшетов. С помощью этого API пользователи могут быстро и легко отвечать на входящие сообщения, не отрываясь от текущего приложения или не закрывая панель уведомлений. Подробнее об этом читайте здесь.
Объединенные оповещения. Внешний вид панели уведомлений менялся в каждой версии Android, в 5.0 и 5.1 мы добились отличной функциональности и наглядности, в 6.0 улучшили юзабилити. В версии N мы добавили то, о чём нас просили: возможности сгруппировывать и разворачивать однотипные оповещения от каждого из приложений. Для этого мы вводим метод Notification.Builder.setGroup().Со включённым свойством оповещения (например, личные сообщения в социальных сетях) будут сгруппированы в один объект на панели уведомлений. Пользователь сможет развернуть их: для этого достаточно щипком «развести» пальцы (жест, аналогичный мультитач приближению) или дважды коснуться соответствующего «мега-уведомления». Подробнее об этой функции читайте здесь.
Экономия заряда батареи. В Android Marshmallow мы внедрили улучшенный режим «сна» устройства под названием Doze, который уменьшил расход заряда батареи в те моменты, когда вы точно не пользуетесь устройством. Новые API должн были подготовить приложения к поддержке данного режима сна, так как в версии N функция Doze работает каждый раз, когда экран гаснет.
Если вы уже адаптировали свое приложение под Doze, — например, используете сервис GCM для важных оповещений, — тогда всё в порядке. Тем, кто ещё не занимался адаптацией к Doze, пригодится статья о начале работы с этой технологией.
Помимо этого, мы продолжаем развивать Project Svelte, делая фоновую работу Android N более эффективной. В результате операционная система должна занимать меньше памяти и стать доступной на большем количестве устройств.Если для фоновых задач вы используете JobScheduler, то вы на верном пути. Если нет, то новая версия N будет отличным поводом перейти на данную технологию, тем более, что расширили её функциональность. Уже сейчас вы можете использовать управление JobScheduler, чтобы оперативно реагировать на изменения контент-провайдера.
Улучшенная функция поддержки языка Java 8. Android идёт в ногу со временем: теперь разработчикам доступны возможности языка Java 8! С помощью компилятора Jack от Android вы можете пользоваться множеством популярных функций Java 8, включая лямбда-выражения. Они доступны на устройствах Android, начиная с версии Gingerbread. Используя новые функции, вы уменьшите шаблонный код. Например, лямбда-выражения могут заменить собой анонимные внутренние классы в случаях, когда предоставляются паттерны event listeners. Некоторые функции Java 8 — например, статичный метод и метод по умолчанию, стрим, функциональные интерфейсы — также доступны в N и последующих версиях. Используя компилятор Jack, мы надеемся лучше отслеживать использование Java, одновременно обеспечивая обратную совместимость с фоновыми задачами.
Начало работы
Предварительная версия N для разработчиков включает в себя обновленный SDK с системными образами. Все это можно использовать для тестирования работы на официальном эмуляторе Android, а также на устройствах Nexus 6, Nexus 5x, Nexus 6P, General Mobile 4G (Android One), Nexus Player, Nexus 9 и Pixel C. А чтобы быстрее внедрить эти функции на планшетах, мы предоставим разработчикам скидку в 150 долларов США на устройства Pixel C.
Это тестовая версия предназначена только для разработчиков, а не для широкой аудитории. Мы планируем часто обновлять системные образы превью N в ходе развития тестовой программы. Ближе к финальному релизу наша команда станет приглашать на тестирование и пользователей.
Мы прекрасно понимаем, что мало у кого есть желание помимо адаптации своего приложения заниматься ещё и морокой с прошивкой тестового девайса. Для облегчения жизни разработчиков и тестеров мы создали программу Android Beta. Начиная с сегодняшнего дня вы можете обновлять свои устройства Android до предварительной версии N для разработчиков и получать регулярные обновления «по воздуху». Все необходимые инструкции вы найдёте на g.co/androidbeta.
Нажмите сюда, чтобы узнать больше о начале работы с превью Android N для разработчиков. Напишите нам о своих впечатлениях! Чем раньше мы получим обратную связь от вас, тем больше ваших пожеланий сможем учесть. Ну и, разумеется, по старой доброй традиции вы можете попытаться угадать название новой версии Android. Удачи. ;)
Комментарии (29)
Zabelnikov
11.03.2016 20:39По поводу поддержки 8 Java, подскажите:
Как включить компилятор Jack и поддерживает ли он кодогенерацию (Например для использования Android Annotation или Dagger 2) ?dev_troy
11.03.2016 21:30+1Прописать в секции defaultConfig:
jackOptions { enable = true }
Кодогенерация пока не поддерживается.VaMpir
11.03.2016 22:29+1Кстати, если кто-то использует Crashlytics (Fabric.io), то с Jack приложение не соберется. Нужно либо отключить Crashlytics, либо не использовать Jack.
Да, и еще, я испытал Jack (из новых build tools, 24 rc1) на одном своем приложении в режиме совместимости с ранними версиями Андроида (compileSdkVersion = 23). В принципе все собралось, я даже смог отключить retrolambda. Правда возникла серьезная проблема (не знаю, связано ли это с Crashlytics, на тот момент я не знал о его несовместимости), но сгенерированный apk оказался без Java-кода (classes.dex) :), и, соответственно, не запустился.
alemiks
12.03.2016 00:05Мультиокна
хм, у меня еще на на 5-м андроиде на s6 был режим разделённых экранов. В чём отличие?
В Android Marshmallow мы внедрили улучшенный режим «сна» устройства под названием Doze, который уменьшил расход заряда батареи в те моменты, когда вы точно не пользуетесь устройством
да, ждал его. Крутая штука. Наверное. Ибо не работает (ночью, например, потребляет энергию так же, как на андроид 5)khim
12.03.2016 00:42+5Ну тут как бы всё просто и ответ на оба ваши вопроса один и тот же: если Samsung что-то добавил в свою прошивку или, наоборот, что-то в ней отломал — то причём тут Гугл?
Тут как бы обсуждается что в новой версии Android'а, а не то, что в новой версии Samsung'одроида :-) Который довольно-таки сильно отличается от оригинала, причём, как вы верно заметили, не все отличия пользительны...
Aux
12.03.2016 01:17+3Ну лично у меня N5X в режиме бездействия живёт очень и очень долго. Мне заряда без активного использования без проблем на сутки хватает.
DjOnline
12.03.2016 00:44>>Объединенные оповещения.
Для Gmail это всегда работало. Но вот «слишком умные китайцы» в MIUI выбросили этот функционал, за что им луч ненависти.
>>используете сервис GCM для важных оповещений
Вот есть ли информация, кто использует GCM? Whatsupp? Viber? Skype? Telegram?Revertis
12.03.2016 01:03+7Viber и Skype точно используют, про остальных не могу пока точно сказать.
П.С.: Вот гугл-раша жжет: «Мы планируем часто обновлять системные изображения...» — картинки, что ли? :) Образы системы же!
Error_403_Forbidden
12.03.2016 01:14Вот что мне не понятно.
При обновлении SDK он предагает поставить не API 24, как того ожидается по логике, а «N»!
Это что, теперь в minSdkVersion писать «N» вместо «24»?
Где логика-то?khim
13.03.2016 22:32Логика в том, что собранные подобным SDK приложения стоит отправлять только на тестовый телефон. Ни Google Play, ни кто-либо ещё их не примет.
Вот выйдет релиз — тогда другое дело. А пока… то, что вышло — это для разработчиков, не для пользователей пока.
Artem_zin
12.03.2016 01:46+9А чтобы быстрее внедрить эти функции на планшетах, мы предоставим разработчикам скидку в 150 долларов США на устройства Pixel C
Лол, только Google Play Store в России не продает устройства. Можно, пожалуйста, решить эту проблему?
// Да, можно заказывать из штатов, но это время, деньги, vpn, etc. Хочется заказывать девайсы тут и получать в течение нескольких дней.NO_oB
12.03.2016 14:04+1Это перевод из блога гугла.
Так что, ничего удивительного, что написано об устройстве которое в РФ не купить.
as3k
12.03.2016 10:06-1Мультиокна, PiP, режим экономии, мгновенные ответы — все это появилось в iOS9.
Вот только улучшенной поддержки Java там нету:)vikarti
12.03.2016 10:51+1PiP в принципе и раньше можно было сделать на Android.
Например так умеет работать BSPlayer для Android.
возможный способ — https://stackoverflow.com/questions/10266959/having-application-running-above-other-app
недостаток да — пермишен нужен специальный
khim
13.03.2016 22:41+2Мультиокна, PiP, режим экономии, мгновенные ответы — все это появилось в iOS9.
Если вы о том, что в Apple — тоже не лаптем щи хлебают, то я очень рад за них.
Если же вы о том, что «Apple опять обокрали» — то вам успокоительные пить нужно.
Потому что как-то так получается что почти все инновации у Apple'а крадут ещё до того, как их сам Apple их выпустит. Все эти PiPы и мультиокна были реализованы в разных сторонних прошивках задолго до того, как они появились в «официальном» Android'е и, уж конечно, задолго до того, как iOS9 их «явила миру».
Тут как раз проявляется обратная сторона «фрагментации Android'а»: почти все технологии вначале обкатываются на прошивках отдельных производителей, смотрится на то, как люди этим пользуются — и только потом они появляются в официальной версии. Первое, как правило, до того как Apple предствит свои «мегаинновации», второе — обычно после. Со всеми этим вещами так было.
Не вижу здесь ничего странного.
Itachi261092
12.03.2016 11:14+3Какой смысл писать про скидки на Pixel C в русской статье, если России там в списке нет? Или гугл уже привык, что все русские покупают их устройства через перекупов?
a553
И опять ничего про ночной режим.
tehnolog
В библиотеке AppCompat v.23.2.0 появилась тема DayNight. Не то?
Newbilius
Речь про возможность поменять у ВСЕГО софта в один клик внешний вид на "ночной".
03uk
Если вы имеете в виду через систему, то это ведь невозможно реализовать, а DayNight тема дает вам легкий доступ менять тему в своем Application в "один метод"
Grox
nicolausYes
Так появился же, в каждом обзоре превью версии N можно увидеть или прочитать.
Может включаться автоматически (в определенное время суток или в определенном месте).
При этом тема может меняться на темную, яркость экрана уменьшаться и накладываться класный фыльтр.
Или вы о чем-то другом?