Android-дайджест (16-22 марта)

  • 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.
     

  • И напоследок: некоторые люди просто хотят, чтобы мир горел.