- Google открыл для всех разработчиков Activity Recognition Transition API. Чтобы понять, что это, сначала надо осознать удивительную вещь: оказывается, слово «activity» не всегда означает компонент Android-приложения. Человеческую деятельность так тоже называют, и это API распознаёт события вроде «поехал в автомобиле» или «слез с велосипеда» (с помощью этого реализован режим «не беспокоить за рулём» в Pixel 2). Разработчики приложений уже делали подобное сами, но Google говорит «ваши решения были недостаточно точными, сажали аккумулятор и требовали от вас времени, а теперь с API заживёте».
- Возможность «запуска без установки», которая раньше появилась у приложений с Instant Apps, теперь добралась до игр: представили «Google Play Instant» (по сути, расширили Instant Apps тем, что нужно геймдеву). Поскольку ограничение в 4 мегабайта для игр выглядело бы совсем жестоким, сжалились и разрешили 10. Пока что это недоступно широким кругам разработчиков, но у хитов вроде Clash Royale рядом с кнопкой «установить» уже появилась «попробовать».
В общем, когда на Google I/0 2016 представили Instant Apps, это выглядело чем-то экспериментальным с неопределённым будущим, а теперь вовсю проникает в жизнь. Если вы ощутили, что пора разобраться с темой — у нас на последнем Mobius как раз был доклад от спикера из компании, которой раньше других довелось попробовать.
- Разработчики продолжают разбираться с превью Android P. Во-первых, этому посвящён свежий выпуск «Android Dev Подкаста», и там не ограничиваются броскими вещами вроде «брови» экрана: запись длится сто минут, а «бровь» обсуждают только первые пять!
Во-вторых, появился блог-пост о Slices API, но из-за дефицита официальной информации он довольно спекулятивный, так что бросайтесь читать только в случае, если вы early adopter.
- Мало того, что в Google Play скоро не дадут обновлять приложения со старым targetSdkVersion, так ещё и в самом Android возникают ограничения. В том же превью Android P обнаружилось следующее: если устанавливать приложение с targetSdkVersion ниже 17, система предупреждает, что вы тут какой-то археологией занимаетесь и всё может плохо работать. И есть предположение, что дело кончится не предупреждениями, а запретами.
Хорошо или плохо запрещать поросшие мхом приложения? Одни считают, что это оздоровление экосистемы, другие возражают: «Google может в Play что хочет делать, но запрещать установку даже через sideloading — это уже слишком, мало ли у кого какие специфичные сценарии».
- Несколько блог-постов:
— В блоге Kotlin Academy начали брать тезисы из книги Джошуа Блоха «Effective Java» и перекладывать их на Kotlin-реалии.
— Крейг Рассел написал об использовании RecyclerView с ListAdapter, недавно появившемся в Support Library.
— Redmadrobot оформили в виде хабрапоста рассказ Станислава Ерохина (JetBrains) о разрабатываемых сейчас возможностях Kotlin.
- И напоследок: некоторые люди просто хотят, чтобы мир горел.
Started debugging a problem with a library and realised that the constructor for a GeoLocation object was GeoLocation(longitude, latitude). Yes, longitude first. pic.twitter.com/NyQoTXcDQI
— Enrique López Mañas (@eenriquelopez) March 16, 2018
Android-дайджест (16-22 марта)
