Android Broadcast
14.2K subscribers
3.52K photos
340 videos
11 files
5.89K links
Подборка новостей и статей для Android разработчиков.

Связь с автором @android_broadcast_bot
Реклама @ab_manager

РКН https://abdev.by/rkn_tg_ab
Download Telegram
#ViewPager

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

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

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

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

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

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

Kotlin 1.4.0-RC: Debugging coroutines

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

Пока все это работает только на Kotlin/JVM
#AndroidStudio #Gradle #Performance

Understanding your build with the Build Analyzer

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

Рекомендую всем после установки AS 4.0 и выше сделать Clean Build и посмотреть есть ли у вас проблемные места в сборке и где они
#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 плагинов стоит обратить внимание на изменения
#Gradle #Cache

Configuration Caching deep dive

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

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

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

Поддержка этой возможности будет в Kotlin 1.4. Больше подробностей о поддержке в других Gradle плагинах можно найти здесь.
#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 - возможость в реальном времени получать креши
#Performance #AppStart #Realm

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

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

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

Kotlin’s Noinline & Crossline, once for all

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

Автор статьи на примерах показывает принципы работы как самого "инлайнинга", так и его модификаций, какие ошибки может вызвать неправильное "встраивание" и показывает несколько нюансов при работе с подобными функциями.
#MotionEditor

Introducing the Motion Editor

Motion Editor - это новый инструмент в Android Studio 4.0, призванный упростить работу с анимацией при помощи нового MotionLayout и специального визуального редактора. В статье рассказывается обо всех основных инструментах редактора.
#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", который позволяет визуально редактировать интерполятор анимации
(* исправленно) Привет. Это Кирилл. автор канала. Очень важно понять в какое время организовывать прямы трансляции на YouTube канале. Голосуйте что вам подходит. Часовой пояй GMT+3 и можно выбрать несколько вариантов.
Final Results
5%
Утро 09:00
7%
Утро 10:00
22%
Вечер 19:00
35%
Вечер 20:00
51%
Смотрю в записи
11%
Не смотрю YouTube канал Android Broadcast
10%
Не знаю про канал
1%
Другой вариант (пишите в чате)
4%
Не участвую в опросе
#Android11 #Security

Exploring Android 11: Data Access Auditing

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

В статье разбирается как использовать новое API в вашем приложении
#AndroidStudio

What’s New in Android Studio System Trace

В статье рассказывает об обновлениях в System Trace - утилите в Android Studio для отслеживания записи активности устройства: CPU, GPU, системных процессов и др.
👉 Секции в окне Profiler
👉 Улучшение навигации
👉 Улучшение данных в "Analysis Panel"
👉 Исправление багов
#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 канала "Сохранёнки Джейка Вортона"
#Gradle

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

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

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

Стоит ли добавлять кнопку под постом с переход на источник?
Final Results
47%
Да
20%
Нет
30%
Все равно
4%
Не участвую в опросе