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

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

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

Вышел первый стабильный релиз Detekt 1.0.0

Вышла первая стабильная версия статического анализатора Kotlin кода.

В релизе (по сравнению с последней RC 16) были исправлены баги, обновлены зависимости, произошли улучшения в Gradle плагине.
#SQLite #ArchitectureComponents #Room

Packing the Room: Pre-populate your database with this one method

Сейчас в разработке находится следующая версия (2.2) популярного ORM решения для Android - Room. В этой версии появляется функция предзаполнения, которая позволяет вам заполнить БД контентом из файла.

Это позволит избегать парсинга данных из файлов для заполнения данными и ускорить старт приложения.
Пример работы с заранее подготовленной БД
#BestPractices

10 Tips for Android Library Developers

Вы разрабатываете Android библиотеку? Думаете начать? Если да - то вам могут полезны советы, приведенные в статье, которые упростят работу конечным пользователям вашего творения.
Пишите ли вы какие-то библиотеки (Android или нет неважно)?
Anonymous Poll
15%
Да, open-source
28%
Да, внутренние в компании
7%
Раньше писал
50%
Нет
#Animation #Tooling

Experimenting with motion in Android

Как сделать красивую анимацию на Android? В этом поможет коллаборация с вашим дизайнером и выбор правильного инструмента. Все надо делать в векторе. В статье обозревается:
1️⃣ Sketch + Android Studio
2️⃣ Shapeshifter
3️⃣ AfterEffects + Lottie
#RecyclerView

OneAdapter

Столкнулся с библиотекой, которая упрощает работу с RecyclerView (да знаю что их много, но почему-то именно эта вызвала интерес). Основные преимущества:
👉 Больше не нужно работать с RecyclerView.Adapter
👉 Отображение каждого типа элементов организовано по модульной архитектуре, что позволяет эффективно повторно использовать логику и использовать Dependency Injection
👉 Поддержка DiffUtil в более простом варианте
👉 Поддержка пагинации
👉 Поддержка отображения UI для пустого списка
👉 Поддержка выбора одного или множества элементов
👉 Поддержка кликов на элементах списка

И все это приправлено простой использования
Android Broadcast
Какой CI вы используете?
Как и ожидалось - победил Jenkins. (хотя тружно назвать победой когда второе место занимает "Не использую CI") Печально ли? Я считаю что да. Jenkins сильно отстает от своих конкурентов на рынке, побеждая только бесплатностью и наличием кучи плагинов на любой чих. Плагины Jenkins - тоже не самое лучшее, так как контроля их качеста не осуществляется.

В мобильной практике EPAM не так давно мы отказались от использования Jenkins в пользу Bitrise. Лучше ли он? Сказать пока не готов, так как я пока с ним еще осваиваюсь. Однозначно настраивать его проще, так как все визуализировано.

P.S. Та четверь людей что не используют CI, отпишите, пожалуйста, в @android_broadcast_discussions почему вы так делаете. Если же причины нет - упростите свою жизнь и автоматизируйте задачи.
#Gradle

Вышел Gradle 5.6.0

Вышла новая версия системы сборки Gradle в которой произошли следующие изменения:
Более быстрая компиляция Groovy (добавлены эксперементальные compilation avoidance и инкрементальная компиляции)
🛠 Поддержка `test fixtures` для Java проектов. Теперь добавленный отдельный source set для настройки ваших тестов, который также можно подключить и к другим модулям в проекте
📝 Объявление версии всех плагинов в одном месте - settings.gradle
Исправлена скорость сборки на Windows при использование Java Library плагина
Теперь PMD поддерживает инкрементальную компиляцию
Улучшения в Worker API
Множество мелких улучшений и исправлений багов
#ArchitectureComponent #WorkManager #GooglePlayServices

Вышел WorkManager 2.2.0

WorkManager добрался до очередной стабильной версии. В ней произошло только одно изменение (по отношению к 2.1.0) - был добавлен новый артифакт androidx.work:work-gcm:2.2.0, в котором реализована поддержка использования GCMNetworkManager в качестве исполнителя задач на Android API Level <= 22.

Это поможет более эффективно работать тем кто поддерживает старые версии API и выкладывает приложение в Google Play.
Google опубликовала исходный код приложения Google I/O'19

Тезнологии, который вы найдете в приложении:
👉 Чистый Kotlin
👉 Архитектура на основе Android Architecture Components
👉 Firebase как бэкенд
👉 Dagger 2
👉 Espresso
👉 Material Design 2.0
👉 Lottie
👉 Room
👉 AndroidX Navigation
👉 Glide 4
👉 ARCore
#Test

What is a unit?

Что нам говорят про тесты, когда мы впервые слышим о них?
👉Есть Unit и интеграционные
👉Первых должно быть больше, так как интеграционные медленные
👉Unit тесты должны тестировать только отдельные части кода: метод или класс

Danny Preussler разбирается во всех частях и на примерах показывает что стоит покрывать Unit тестами
The (not so) hidden cost of sharing code between iOS and Android

История того как в DropBox старались пошарить код между iOS и Android в 2013 году, когда про Kotlin было слышно только отдаленно и Kotlin/Native не было вовсе. Использовали для этого C++. От этого подхода в компании ушли потому, что:
👉 Множество собственных фреймворков и библиотек и сложность их использования
👉 Сложность инструментов разработки
👉 Трудности при адаптации общего кода к различным платформам
👉 Трудно найти сотрудников и необходимость обучения текущих
Больше подробностей в статье
#Architecture #Modularization

Дзен изолированных компонентов в Android-архитектуре

Продолжение серии статей (раз и два) от Badoo об MVI в их приложении. В третей части вы найдете разбор рекомендаций:
👉 Нe останавливайтесь на слабой связности компонентов
👉 Компоненты в виде чёрных ящиков
👉 Переходим к однонаправленности
👉 Соединяйте входные и выходные данные разных компонентов
👉 и прочие интересные вопросы
#JetpackWeekly #AndroidX #AndroidJetpack

Android Jetpack Weekly #4

Текущая неделя была небогато на обновления:
👉 Выпущен стабильный WorkManager 2.2.0 в котором добавлена поддержка GCMNetworkManager в WorkManager
👉 Багфикс и изменения API в RecyclerView
👉 Багфикс в Jetifier
👉 Багфикс в DrawerLayout
Android Showcase Project

Пример проекта использующий все тренды Android разработки 2019 года:
👉 100% Kotlin
👉 Kotlin Coroutines
👉 Gradle Kotlin DSL
👉 Feature модули
👉 Clean Architecture
👉 MVVM
👉 Android Jetpack
👉 Архитектура на одной Single Activity
👉 Navigation Component для управления fragment-ами
👉 Reactive UIs
👉 CI pipeline (Circle CI)
👉 Testing
👉 Static analysis tools
👉 Dependency Injection (Kodein)
👉 Material design 2.0
👉 Coil для загрузки изображений
👉 Lottie
#Accessibility #GooglePlay

Improving Accessibility in the Android Ecosystem

Google лишний раз напоминает нам что надо заботиться об accessibility. Например в Google Play pre-launch отчет выдает рекомендации по тому что стоит исправить в вашем приложение для accessibility.

Также вы можете воспользоваться приложением Accessibility Scanner для Android
Вы заботитесь об accesebility в ваших приложениях?
Final Results
14%
Да
62%
Нет
24%
Что это такое?
#Graphic #Image

Android Image Lighting Control and Color Filtering

Как сделать картинку ярче или более темной в Android? С чего вы начнете поиск решений? В Android SDK уже есть есть - ColorFilter. Для того чтобы регулировать яркость картинки используйте LightingColorFilter.

В статье разбирается как правильно работать с этим фильтром работать правильно, что значит параметры mul и add?
#Backend #MBaaS

Обзор облачных сервисов для разработки бэкенда мобильных приложений

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

Очень удобно иметь готовое решение из коробки, которое позволит использовать реализации для распространенных задач. В статье проводиться сравнение Microsoft Azure, AWS Amplify, Google Firebase и Kumulos.