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
#Android11

The Quick Developers Guide to Migrate Their Apps to Android 11

Для всех тех кто не обновляет свои приложения до последней версии targetSdk, только когда Google заставит, рекомендую ознакомиться со статьей, в которой автор разбирает обновления в коде:
👉 Foreground Service Type
👉 Доступ с местоположению в фоне
👉 Одноразовые разрешения (One-Time Permissions)
👉 Scoped Storage
👉 Ограничения на доступ к другим приложениям
👉 Уведомления
👉 Отслеживание показа IME
👉 AsyncTask Deprecated
👉 Множество ограничений и изменений в поведении Toast
#Flow #Coroutines

FlowBinding 1.0.0 уже в релизе (EN)

Для всех кто любит реактивное программирование, использовал библиотеку RxBinding возрадуйтесь - теперь у вас есть стабильная версия binding на основе Coroutines Flow
#SQLite

Полнотекстовый поиск FTS3, FTS4 и FTS5 в Android

Full Text Search (FTS) - инструмент, который позволит вам эффективно искать данный в SQLite БД. Одной из явных отличительных особенностей ее является поддержка Unicode, что позволяет делать текстовый поиск не только в латинице

В статье разбирается:
👉 как работать с FTS в Android
👉 что происходит под капотом (виртуальные таблицы)
👉 сравнение различных версий FTS
👉 интеграция FTS 5 через отдельную библиотеки (придется отдельно подключать SQLite)
#UI #Material

MAD Skills Material Design Components: Wrap-Up

Подведение итогов третьей темы в MAD Skills - «Material Design Component» (далее MDC).

Что было:
👉 Зачем использовать MDC?
👉 Material тема и ее применения в приложениях
👉 Темная тема
👉 Material Motion
👉 Советы сообщества
👉 Сессия Live Q&A

Помимого видео вы найдете статьи в блоге на Medium и примеры приложений
#Compose #GraphQL

Jetpack Compose and GraphQL, a very merry combination!

Jetpack Compose - прекрасный декларативный подход, так горячо ожидаемый Android разработчиками. Да и не только мобильными, ведь Compose - мультиплатформенное решение.

В статье разбирается как совместить работу GraphQL в вариации от Apollo, пагинации и Compose.

Конечно, будет круто, если будет возможность не писать предварительно запросы для Apollo, а чтобы библиотека смогла брать соответствующие названия свойства для GraphQL и собирать запросы динамически во время работы приложения. Пока все в статике, но со временем в Android разработку могут прийти подходы работы с GraphQL как в JS фреймворках.
#Architecture

Работа с толстофичами: как разобрать слона на части и собрать обратно

В статье вы найдете
👉 Описание подхода разбиения функциональности приложения на реактивные black box компоненты
👉 Проблемы при разработке больших фич
👉 Декомпозиция фичи на систему реактивных black box на практическом примере из приложения hh
👉 Как связать атомарные фичи в функциональность одного экрана
👉 Преимущества подхода разбиения фич на атомарные реактивные компоненты
👉 Проблемы подхода и возможные пути их решения

Статья показывает практическое использование MVI для декомпозиции бизнес логики приложения, но подход к проектированию системы реактивных компонентов может быть интересен и за пределами MVI.
This media is not supported in your browser
VIEW IN TELEGRAM
VideoLayout - библиотека, которая упростит вам интеграцию видео в UI. В отличие от стандартной VideoView имеет лучшую производительность для видео фонов с меньшим количеством строк.
#AndroidBroadcast

Итоги года для Telegram канала Android Broadcast в инфографике от tgstat. Подробнее здесь

Спасибо всем подписчикам канала, что вы здесь. Ставьте лучики ☀️, чтобы зарядить создателей проекта на будущий год и пишите в личку @krlrozov, если есть что сказать больше
Android — Keeping Release and Debug Installed All the Time

Тестируете приложение на личном устройстве? Для самого помню какая это боль когда разрабатываешь и пользуешься приложением в жизни. Приходится искать второе устройство (хорошая компания обычно предоставляет) либо использовать эмулятор.

Самый простой способ делать тестирование и не сносить релиз - сделать разные application id для разных типов сборок. Главное не забывайте класть ресурсы в нужную папку, правильно настроить все сторонние интеграции (Firebase, HMS, GMS и пр.)
#Architecture #Navigation #Jetpack

Navigation Component-дзюцу, vol. 4 – Переоценка

Не так давно вышла серия статей «Navigation Component-дзюцу» из 3 частей, где автор рассказал о куче проблема с Navigation Arch Component и как команда боролась с ними.

После "Навигационной битвы" на YouTube канале Android Broadcast Влад помог Паше, автору статьи, решить проблемы с которыми они столкнулись. В четвертой части статьи вы найдете пересмотр костылей и как правильно стоило все использовать, чтобы убрать кучу лишнего кода.
#IntelliJ

В IntelliJ IDEA 2020.3.1 добавлена поддержка Apple Silicon

Новый релиз любимой IDE помимо фиксов багов в 2020.3 привнёс поддержку Apple Silicon. Все кто уже успел купить Mac на новых процессорах возрадуйтесь.
This media is not supported in your browser
VIEW IN TELEGRAM
#AndroidBroadcast

Этот год выдался очень необычным и непривычным для всего мира и IT индустрии в частности. Многим из нас пришлось перебраться домой и работать удаленно. Тусовки сообщества трансформировались из оффлайн посиделок в онлайн. И я думаю, что это сделало нас крепче и глобальнее.

В новом году желаю тебе всего самого наилучшего, возвращения оффлайн формата, профессионального и карьерного роста! Ты лучший(ая)!

2021 - это год Android Broadcast. Для меня проект уже стал основным занятием, которое я буду развивать намного активнее. Новые форматы, контент и пользу русскоязычному сообществу.

Спасибо всем тем кто писал добрые слова и поддерживал проект, моя уверенность в проекте и новый шаг в его развитии - это отчасти ваша заслуга.

Кирилл Розов, создатель Android Broadcast
Вышел ViewBindingPropertyDelegate 1.4.0

Что нового:
👉 Поддержка ViewHolder и ViewGroup
👉 Упрощение использования viewBinding в Activity
👉 Больше поддержки inflate в различных компонентах
👉 Улучшение производительности при использовании рефлексии
👉 Минорные улучшения и исправления
#JVM

Tonnes of fun with Kotlin

Kotlin упростил жизнь разработчиков, закрыв множество кода от глаз, генерируя его. Но не всегда так очевидно и нужно быть внимательным:
👉 Extention функции не всегда статические методы
👉 Inline классы не всегда встраиваются в код, а используются как обычные классы
👉 Неочевидное перекрытие имен c extention функциями и обычными
👉 Особенности работы методов по умолчанию в интерфейсах неочевидны в каждом случае
#Performance #Jetpack

Отключаем Jetifier и ускоряем сборку: опыт Тинькофф.Бизнес

Переход с Android Support Library на Jetpack сопровождался необходимостью включения утилиты Jetifier, которая трансформировала старые библиотеки в новые. Зачем это надо было делать? Без этого проект вовсе бы не собрался.

С момента перехода прошло уже больше 2 лет, но не все разработчики в своих продуктах отключили эту утилиту, хотя вполне возможно в Support библиотек уже и нет в проекте.

В статье приводится:
👉 инструкция как проверить ваш проект
👉 что сделать со сторонними библиотеками, которые не выполнили миграцию
👉 Сравнение скорости сборки проекта с и без Jetifier
Demystifying Locale on Android

Как только вам нужно работать с датами и зонами времени, языками или форматированием то класс Locale

В статье разбирается что это такой за класс, что он из себя представляет и особенности работы c локализацией в Android.

Также вас ждет разбор основных ошибок разработчиков:
👉 Ошибки при работе cо строками из библиотек
👉 Разница между системной локалью и Locale.getDefault(). Правильно использовать ConfigurationCompat.getLocales(Resources.getSystem().configuration)[0]
👉 Опасайтесь WebView.
#Безопасность

Retrieve Data From Android Devices Without Rooting

Демонстрация как можно вытащить приватные данные пользователя если разработчик не опирается на все практики.

Потенциальной угрозой является система бэкапа в Android. Разработчик должен настраивать что сохранять туда, а что нет.
This media is not supported in your browser
VIEW IN TELEGRAM
#MotionLayout #Анимация

Motion Layout Playground - репозиторий с примерами UI и переходов, построенных на основе MotionLayout. В примере используется MotionLayout 2.1.0 (еще в стадии альфа), но часть анимаций работают и на текущей стабильной версии.