Size: a a a

Android Broadcast

2020 July 29
Android Broadcast
#R8 #Security

Shrinking Your App with R8

Буквально вчера мы поговорили про безопасность на стриме, и в дополнение рекомендую ознакомиться с альтернативой ProGuard от Google - R8.

В статье рассматривается:
👉 возможности R8
👉 зачем использовать code shrinking
👉 каких результатов позволяет достичь использование R8 для уменьшения размера приложений
👉 Как настроить R8 в приложении
источник
Android Broadcast
#ViewPager

ViewPager2 — digging the internal API to make it work with DiffUtil

Google больше не поддерживает ViewPager первой версии и рекомендует переходить на ViewPager 2.0, реализованный на основе RecyclerView, что позволяет использовать все его возможности.

Статья концентрируется на том как правильно настроить DiffUtil с ViewPager 2.0
источник
Android Broadcast
#AndroidBroadcast

Просто интервью с Артемом Зиннатуллиным@Lyft
Когда: Пятница, 31 июля, 10:00 (GMT+3)

Просто интервью обо всем: работе, переезде, работе менеджером и куда идти после IT

Гость выпуска - Артем Зиннатуллин, Staff Software Engineer в Lyft. Работает над билд системами, дев тулингом, CI, библиотеками, инфраструктурой. До этого занимался мобильной разработкой, делал RxJava, Spek и другие. Ищет выход из IT
YouTube
Ламповые посиделки. Артем Зиннатуллин@Lyft
#AndroidBroadcast #ArtemZinnatullin #Lyft

Просто интервью обо всем: работе, переезде и куда идти после IT

Гость выпуска - Артем Зиннатуллин, Staff Software Engineer в Lyft. Работает над билд системами, дев тулингом, CI, библиотеками, инфраструктурой. До этого занимался мобильной разработкой, делал RxJava, Spek и другие. Ищет выход из IT

Полезные ссылки:
📰 Telegram канал с полезными материалами для Android разработчиков - https://ttttt.me/android_broadcast
💰 Поддержать проект на Boosty https://boosty.to/androidbroadcast или Patreon http://bit.ly/2TBOzlu
🔗 Twitter Артема - https://twitter.com/artem_zin
🔗 YouTube Артема - https://bit.ly/39DQcFo
🔗 Вакансии Lyft в Минске - https://bit.ly/2X6HjiK
🔗 Уровни разработчиков в крупных компаниях - https://www.levels.fyi/
🔗 Книга по психологии от Артема - https://www.litres.ru/mihail-litvak/princip-spermatozoida-24255374/
🔗 Бетси Бейер, Site Reliability Engineering. Надежность и безотказность как в Google
https://pda.litres.ru/betsi-beyer-17338311/site-reliability-engineering…
источник
Android Broadcast
#Coroutines #Kotlin14

Kotlin 1.4.0-RC: Debugging coroutines

Большое улучшение дебагера для Coroutine уже здесь и для этого вам нужен Kotlin 1.4. Новинки:
👉 Новый отдельный таб в дебаггере Idea "coroutines"
👉 Возможность просматривать все Coroutine которые выполняются и приостановлены
👉 Возможность проверить состояние любой coroutine и значения локальных и captured переменных
👉 Полный stacktrace создания coroutine
👉 Возможность получения отчета о состоянии каждой coroutine и ее стека

Пока все это работает только на Kotlin/JVM
источник
2020 July 30
Android Broadcast
#AndroidStudio #Gradle #Performance

Understanding your build with the Build Analyzer

В Android Studio (AS) 4.0 появилась возможность проанализировать скорость сборки вашего и увидеть визуализацию этого.

Рекомендую всем после установки AS 4.0 и выше сделать Clean Build и посмотреть есть ли у вас проблемные места в сборке и где они
источник
Android Broadcast
#AndroidGradlePlugin #Gradle #KotlinDSL

New APIs in the Android Gradle Plugin

Статья с обзором изменений в Android Gradle Plugin (AGP)  4.1. Нас ждет:
👉 Полная поддержка Gradle Kotlin DSL. Добились этого за счет выделения интерфейсов API и они написаны на Kotlin
👉 Опубликована новая документация по API AGP
👉 Новое Variant API (пример использования здесь), упрощающее работы с Tasks AGP и зависимостями на них
👉 Новое Artifcat API (пример использования здесь), которое позволяет эффективно управлять артефактами сборки Android проектов

Старое API останется работать и пока не будет удалено, но разработчиком Gradle плагинов стоит обратить внимание на изменения
источник
Android Broadcast
#Gradle #Cache

Configuration Caching deep dive

Одним из узких мест Gradle сборки является фаза конфигурации. Сейчас она происходит всегда при запуске любого таска, даже если ваш проект не поменялся.

В Gradle 6.6 появилась экспериментальная возможность, которая позволяет кэшировать информацию о графе task-ов. Команда Android Gradle Plugin (AGP) сразу же взяли ее на исследование для применения в AGP

В статье разбирается принципы работы этой фичи и как ее адаптировать

Поддержка этой возможности будет в Kotlin 1.4. Больше подробностей о поддержке в других Gradle плагинах можно найти здесь.
источник
2020 July 31
Android Broadcast
#Firebase

Product news and other highlights from Firebase Live

Команда Firebase представила новинки:
👉 Новый UI эмулятора для локальной разработки (видео)
👉 Упрощение процесса написания и тестирования правил безопасности (видео)
👉 Поддержка "Sign in with Apple" (видео)
👉 Поддержка платежей с помощью Stripe
👉 Улучшение деплоя моделей TensorFlow Lite. ML Model Managment API для управления моделями через CLI
👉 Crashlytics BigQuery streaming - возможость в реальном времени получать креши
источник
Android Broadcast
#Performance #AppStart #Realm

Сказ о том, как каскадное удаление в Realm долгий запуск победило

История оптимизации приложения ДоДо Пицца, у которых он стал достигать 20 секунд. В статье разбирается как замерить старт, анализировать проблему и ее исправить.

В случае ребят проблемой была БД RealM и отсутствие каскадного удаления. Ребята реализовали это сами, чем сделали старт приложения мгновенным.
источник
Android Broadcast
#Kotlin #Inline

Kotlin’s Noinline & Crossline, once for all

В работе не так часто приходится использовать inline функции. Ещё реже приходится использовать модификаторы "инлайнинга", поэтому работа noinline и crossinline для не опытных разработчиков может быть весьма не очевидна и не совсем понятно для чего они существуют.

Автор статьи на примерах показывает принципы работы как самого "инлайнинга", так и его модификаций, какие ошибки может вызвать неправильное "встраивание" и показывает несколько нюансов при работе с подобными функциями.
источник
2020 August 01
Android Broadcast
#ConstraintLayout #MotionLayout

ConstraintLayout 2.0.0 rc1

Прошло всего несколько лет и наконец-то мы дошли до RC ConstrantLayout 2.0, который включает MotionLayout
источник
Android Broadcast
#MotionLayout

Motion Tags Ep1 - MotionLayout + MotionScene

Google запустила серию уроков по MotionLayout. В первом видео рассматривается <MotionScene> и MotionLayout
источник
Android Broadcast
#MotionEditor

Introducing the Motion Editor

Motion Editor - это новый инструмент в Android Studio 4.0, призванный упростить работу с анимацией при помощи нового MotionLayout и специального визуального редактора. В статье рассказывается обо всех основных инструментах редактора.
источник
Android Broadcast
#ConstraintLayout

Design Tools Suite UX enhancements in Android Studio 4.1

Обзор изменений визуального редактора в следующей мажорной версии - Android Studio 4.1.

UI Editor:
👉 Поддержка Constraint Layout 2.0: VirtualLayouts
👉 Возможность включения/выключения показа tools (например tools:text, tools:visibility) эффектов в Preview
👉 Управление visibility в дереве компонентов
👉 Shortcut клавиатуры для Design Tool
👉 Панель для трансформаций свойств View: X, Y, Z, rotation, scale, translation

Resource manager:
👉 Визуализация ресурса картинки в XML аттрибуте теперь позволяет быстро его поменять с предпросмотром и поиском
👉 Material иконки не являются частью Android Studio и будут обновляться независимо

Navigation editor:
👉 Визуализация Destionations Tree (похожее на Component Tree в UI Designer)
👉 Диалог для создания deeplink с поддержкой автодополнения

Motion editor
👉 Motion keyframe path graph
👉 Редактор "Transition curve", который позволяет визуально редактировать интерполятор анимации
источник
Android Broadcast
(* исправленно)  Привет. Это Кирилл. автор канала.    Очень важно понять в какое время организовывать прямы трансляции на YouTube канале. Голосуйте что вам подходит.   Часовой пояй GMT+3 и можно выбрать несколько вариантов.
Окончательные результаты
4%
Утро 09:00
5%
Утро 10:00
15%
Вечер 19:00
24%
Вечер 20:00
35%
Смотрю в записи
8%
Не смотрю YouTube канал Android Broadcast
7%
Не знаю про канал
0%
Другой вариант (пишите в чате)
3%
Не участвую в опросе
Проголосовало: 1114
источник
Android Broadcast
android_broadcast
(* исправленно)  Привет. Это Кирилл. автор канала.    Очень важно понять в какое время организовывать прямы трансляции на YouTube канале. Голосуйте что вам подходит.   Часовой пояй GMT+3 и можно выбрать несколько вариантов.
Окончательные результаты
4%
Утро 09:00
5%
Утро 10:00
15%
Вечер 19:00
24%
Вечер 20:00
35%
Смотрю в записи
8%
Не смотрю YouTube канал Android Broadcast
7%
Не знаю про канал
0%
Другой вариант (пишите в чате)
3%
Не участвую в опросе
Проголосовало: 1114
Для всех тех кто не знал про канал рекомендую зайти, посмотреть, подписаться и ставить лайки. Это очень мотивирует на работу youtube.com/c/androidBroadcast
источник
2020 August 03
Android Broadcast
#Android11 #Security

Exploring Android 11: Data Access Auditing

Одной из новинок Android 11 является возможность отслеживать какой код обращается к пользовательским данным. Для этого используйте новое Data Access Auditing API. API отслеживает обращение из вашего кода, так и сторонних библиотек, подключенных к проекту.

В статье разбирается как использовать новое API в вашем приложении
источник
2020 August 04
Android Broadcast
#AndroidStudio

What’s New in Android Studio System Trace

В статье рассказывает об обновлениях в System Trace - утилите в Android Studio для отслеживания записи активности устройства: CPU, GPU, системных процессов и др.
👉 Секции в окне Profiler
👉 Улучшение навигации
👉 Улучшение данных в "Analysis Panel"
👉 Исправление багов
источник
Android Broadcast
#AndroidBroadcast #Architecture #FunctionalProgramming

The ELM Arhitecture. Функциональное программирование на Android (Livestream)

Где: YouTube канал "Android Broadcast"
Когда: среда, 5 августа, 20.00 (GMT+3)

The Elm Architecture – архитектура для UI-приложений, популярная в сообществе Elm-разработчиков. Она использует функциональное программирование, для того чтобы создавать корректные и легко масштабируемые приложения. Чистые функции и единое управление состоянием дают несколько иные инструменты абстракции, нежели традиционная Clean Arch, предоставляя больше гибкости и контроля над логикой

Все кто любит функциональное, реактивное программирование, а также подходы и архитектуры, основанные на этих принципах, будет интересно.

В гостях - Михаил Левченко, Android разработчик в Автo.ру. Любитель функционального программирования, Автор Telegram канала "Сохранёнки Джейка Вортона"
источник
Android Broadcast
#Gradle

How to use Composite builds as a replacement of buildSrc in Gradle

Gradle имеет возможность добавлять собственную логику в buildSrc, минус которой в том, что при любом малейшем изменении она приводит к полному сбросу build кэша.

Альтернативой buildSrc представляется Composite Builds. В статье разбирается:
👉 разница между этими 2 подходами
👉 как мигрировать с buildSrc на Composite Builds
👉 проблемы с которыми можно столкнуться и как их решать
источник