Android Broadcast – Telegram
Android Broadcast
14.4K subscribers
3.68K photos
367 videos
11 files
6.1K links
Подборка новостей и статей для Android разработчиков.

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

РКН https://abdev.by/rkn_tg_ab #MQRZR
Download Telegram
#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 (еще в стадии альфа), но часть анимаций работают и на текущей стабильной версии.
#Безопасность

Хранение ключей API в нативном коде

Развеивание мифа, что хранение ключей в нативном коде надежный способ обезопасить их от злоумышленников. Рассматривается несколько способ хранения и как взламывается нативный код.

Автор канала Android Guards побывал в гостях Android Broadcast (запись здесь), где мы составили карту защиты Android приложения.
Android Developer Reference - репозиторий со множеством сгруппированных по темам статей.