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
Screenshot testing on Android

История команды как они от написания Unit тестов и instrumentation тестов на Espresso пошли дальше тестирование скриншотов. Цель тестирования скриншотов - проверить, что пользовательский ввод приводит к определённому выводу на экране. Автор статьи делится опытом таких видов тестов с использованием библиотеки Facebook Screenshot Testing for Android
#DependencyInjection #Dagger

Dagger2: @Component.Factory and @SubComponent.Factory

В Dagger 2.22 добавили возможность использовать фабрики @Component.Factory для создания Component, вместо Builder. Это позволяет вам передать все параметры при создании Dagger Component/Subcomponent в один единственный метод.
#GooglePlay

Expanding bug bounties on Google Play

Google расширяет программу по поиску уязвимостей и включает в нее все приложения с более 100 миллионов установок, даже если разработчик приложения не имеет, такой программы вы получите премию от Google.
#Firebase #RemoteConfig

Improving your startup times and error handling using the Remote Config V2 SDK

Обновили Firebase Remote Config V2 получило более быстрое время запуска со счет асинхронной инициализации 🚀 and улучшение коммуникации между клиентским SDK и бекэндом
#Git

Using Git Hooks to improve your development workflow

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

Git Hooks - это то что ваш поможет автоматизировать различные команды, которые будут выполняться при различных операциях с Git. Как это сделать вы найдете в статье
#CameraX #AndroidX #Camera

Core Principles Behind CameraX Jetpack Library

CameraX - одна из главных новинок AndroidX из Google I/O. Она решает проблемы с особенностями работы с камерой на устройствах различных производителей, а также дает доступ к таким возможностям как HDR, ночной режим и прочие, которые ранее были недоступны.

В статье рассматриваются особенности библиотеки:
👉 Интеграция с Lifecycle
👉 Работа на основе сценариев (use-case-driven). Основные сценарии - это предпросмотр, анализ изображения и захват изображения.
👉 Graceful degradation
👉 Совместимость со всеми устройства на Android 5.0+ и поддерживающими Camera 2 API
👉 Поддержка расширений от производителей, для доступа к низкоуровневым API камеры

Библиотека активно развивается и получает улучшения API. Ждем хотя бы beta
#Firebase #SaaS #8base

5 Reasons Why Developers are Choosing 8base over Firebase

Сравнение 8base и Firebase в плане удобства и функционала который они представляют как Saas.

8base отличается работой на основе GraphQL API
#Widget #Calendar

CalendarView - хорошо кастомизируемый виджет календаря, основанный на RecyclerView.

Возможности библиотеки:
👉 Выбор одного значения или диапазона
👉 Режим недели или месяца
👉 Ограничение дат
👉 Кастомизация внешнего вида ячеек
👉 Кастомизация внешнего вида календаря
👉 Любой день в качестве первого дня недели
👉 Горизонтальный или вертикальный скролл
👉 Добавление headers/footers к любому месяцу
👉 Простой скролл к дате и месяцу
👉 Возможность использования любых кастомизаций RecyclerView

Библиотека работает на основе ThreeTenABP для возможности работы с Java 8 Date Time на старых версиях Android SDK
#ArchitectureComponents #LiveData

Unit-testing LiveData and other common observability problems

Важно помнить, что LiveData посылает обновления, только в том случае, когда у нее есть хотя бы один подписчик (observer). Это может привести к ошибкам в ваших тестах (успешно их прохождению или нет).

В статье рассматриваются ошибки и рекомендации по использованию LiveData в тестах:
👉 Используйте LiveData.getOrAwaitValue(timeout: Long) для получения результата из LiveData в unit тестах
👉 Используйте InstantTaskExecutorRule для предотвращения проблем с многопоточностью при работе с LiveData
👉 Частая ошибка - используйте один и тот же объект ViewModel, если он шарится между несколькими Fragment
#Coroutines

Corbind

Помните RxBinding? Так вот её аналог, только построенный на Kotlin Coroutine-ах. Библиотека позволяет осуществлять биндинги к самым популярным виджетам из Android SDK и AndroidX

Corbind поддерживает Channel и Flow.
#AndroidQ

Вышел Android 10

Вот и состоялся выход новой стабильной версии ОС Android. Что это привносит? Давайте разбираться:
👉 Теперь нет букв в названиях Android и сладостей. Только цифры. Скатились до iOS 😥
👉 Поддержка складываемых устройств (кстати оба из них не стали выходить 😁)
👉 Поддержка сетей 5G
👉 Темная тема
👉 LiveCaption - теперь можно сделать субтитры для всего что воспроизводится в системе
👉 Новая система навигации жестами, которую Google пытается стандартизировать кросс производителей устройств
👉 Большой упор на приватность данных
👉 Улучшение работы с камерой
👉 Улучшение виртуальной машины ART
👉 Поддержка быстрых обновлений безопасностей и патчей без необходимости перезагрузки
#Coroutines #DynamicProxy

A little reflection about coroutines

Как протестировать код, который использует Retrofit интерфейс? Использовать моки или HttpMocker. Есть более эффективный способ - самому реализовать свою Proxy для Retrofit со стабами. Подробности того как это сделать когда вы используете Coroutine или нет вы найдёте в статье
#Gradle #Performance

Gradle Remote Build Cache Misses

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

Кэширование сборки тоже не самый эффективный механизм Gradle, но есть часть Gradle Enterprise - Remote Build Cache, которая позволяет шарить кэш между различными машинами. Больше подробностей о этой функции в статье от SoundСloud
Всем привет. На этой неделе я не смог выдерживать ритм по новостям + мало чего интересно + все мои силы между старой и новой работой идут на то, чтобы сделать Kotlin/Everywhere Minsk, которая состоится 7 сентября. Были 3 напряжённых месяца подготовки и остается совсем чуть-чуть. Регистрируйтесь чтобы получить видео, посетить мероприятие или помочь в качестве волонтёра.

Со следующей неделе я вернусь к привычному ритму посту новостей. Спасибо за понимание
#Tablet #Android10

Expand your app beyond mobile to reach Android users at large

В Google неожиданно решили вспомнить, что у них есть поддержка больших экранов, а вендоры производят планшеты и Chrome OS имеет поддержку Android приложений и там очень эффективно работает планшетный дизайн.
Заботитесь ли вы поддержкой планшетов в своих приложениях?
Anonymous Poll
26%
Да
67%
Нет
7%
Не знаю
Рассылка Now in Android

Google стала делать рассылку с новостями в мире Android, но зачем они если есть Android Broadcast 😁