А также: Material Design, App Shortcuts, работа с батареей, Kotlin Anko, трекинг приложений, аутентификация, In-App billing и еще много интересного!
Новости и аналитика
Google Play Services 10.0.1. Последний крупный релиз, который поддерживает Android 2.3.x (Gingerbread). Начиная с версии 10.2.0 минимальным станет API 14 (Android 4.0.1, Ice Cream Sandwich).
Android Studio 2.3 Canary. Новые проверки для Lint, конвертация в формат WebP, очередное ускорение сборки приложения.
Победители Material Design Awards 2016.
Google запустил новый сайт по Material Designи инструменты для совместной работы дизайнеров.
Google научился фильтровать фальшивые установкив Play Store.
Почитать/посмотреть/попробовать
Exploring Android Nougat 7.1 App Shortcuts. Изящное расширение UI, но без портируемости на старые версии.
Как всё-таки работают ссылки в Android и Java. Классический вопрос из Java с примерами жизненного цикла Activity.
Machine Learning is Everywhere: как и в каких SDK имплементируют ML.
Как создавать стикеры в стиле Snapchatдля вашего приложения. Пример включает в себя вращение, изменение размеров и перемещение.
Mastering the Terminal side of Android development. Сборка, тестирование и отладка приложений из правильно настроенной консоли.
Как рисовать custom view. Жизненный цикл, необходимые методы и атрибуты.
Почему старые способы аутентификации sucks, и как сделать её стильно, модно и молодёжно. Используется Android Keystore System.
Как должно вести себя приложение после kill process.
Эксперимент в Яндексе: измеряем потребление батареина мобильных устройствах.
The Ultimate Pre-Release Checklist for Android App Success On Play Store.
Запускаем свою игру на Android TV.
Android In-app Billing: от мобильного приложения до серверной валидации и тестирования.
RxJava
Детально про изменения в RxJava 2.0от ключевого контрибьютора — David Karnok.
State propagation in Android with RxJava Subjects. Как можно передавать состояние и почему лучше это делать с Rx.
Reactive Views: делаем повторный вызов при ошибке.
Pierre-Yves Ricau об особенностях дизайна класса Throwable и проблемах, которые этот дизайн создал в RxJava and Retrofit.
Как заставить Espresso ждать background schedulersиз RxJava.
Kotlin
Как Kotlin стал главным языкомнашей команды для Android.
Our Experiment Building a Multiselection Solution for Android in Kotlin.
400% faster layouts with Anko. Сравнивали с XML Layouts на различных устройствах.
Инструменты
Get access to raw profiling results with plugins for Pury. Можно экспортировать данные даже в Google Analytics.
Genymotion: Android OS теперь доступна как Amazon Machine Image.
Очередные 50 Android Studio Tips, Tricks & Resources.
Wojtek Kaliciński: Как выжать максимум из Android Studio APK Analyzer.
Аналитика в приложениях и Firebase
Ключевые принципы трекинга приложенийдля разработчиков. Почему данные нужно трекать, с помощью каких инструментов, как передавать и как отлаживать.
Organize your analytics code. Простые истины, о которых умолчала официальная документация.
Firebase Dev Summit: записи докладови блог. Рекомендую обратить внимание на части про аналитику, приложения без инфраструктуры и crash reporting.
Push notification in Android using Firebase Cloud Messaging.
Как делать поэтапное развертывание (staged rollout) функциональности приложения с Firebase Remote Config.
Полезные инструменты и библиотеки
Android-proguards: Use one line to apply almost all famous libraries of proguard configurations.
Depth-LIB-Android: Объемное рисование.
LongPressPopup: Настраиваемый Switch View с двумя и тремя состояниями.
Blurkit-android: Быстрый blur эффект.
Tinker: Добавление hot-fix в приложение. Поддерживает обновление dex, библиотек и ресурсов без переустановки apk. С установками из Google Play не работает.
ChipsLayoutManager: Custom layout manager для RecyclerView с анимацией и перемещением элементов между строками.
Хорошего вам настроения и стабильного приложения! :)
Какие темы/материалы/ивенты стоит добавить в дайджест — пишите в комментариях, твиттер @sergiizhukили воспользуйтесь специальной формой.
← Предыдущий выпуск: Android дайджест #20