Size: a a a

Android Broadcast

2019 August 13
Android Broadcast
Одна из фичей библиотеки - Dynamic image sampling. Допустим у вас есть картинка размера 500x500 и в начале вы отображает ее в списке с размером 100x100. Картинка с более мелким размером будет закэширована в оперативной памяти. Затем вы хотите открыть эту же картинку в оригинальном качестве и снова запускаете ее загрузку.

Библиотека может определить что исходная картинка уже есть в памяти в более мелком разрешение и использовать ее как временный стаб до загрузки необходимого изображения.
источник
Android Broadcast
#Kotlin #CodeQuality

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

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

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

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

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

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

10 Tips for Android Library Developers

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

Experimenting with motion in Android

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

OneAdapter

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

И все это приправлено простой использования
источник
2019 August 15
Android Broadcast
android_broadcast
Какой CI вы используете?
Окончательные результаты
32%
Jenkins
5%
Bitrise
3%
Travis
6%
Circle
11%
TeamCity
18%
Другой
24%
Не использую CI
Проголосовало: 270
Как и ожидалось - победил Jenkins. (хотя тружно назвать победой когда второе место занимает "Не использую CI") Печально ли? Я считаю что да. Jenkins сильно отстает от своих конкурентов на рынке, побеждая только бесплатностью и наличием кучи плагинов на любой чих. Плагины Jenkins - тоже не самое лучшее, так как контроля их качеста не осуществляется.

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

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

Вышел Gradle 5.6.0

Вышла новая версия системы сборки Gradle в которой произошли следующие изменения:
Более быстрая компиляция Groovy (добавлены эксперементальные compilation avoidance и инкрементальная компиляции)
🛠 Поддержка `test fixtures` для Java проектов. Теперь добавленный отдельный source set для настройки ваших тестов, который также можно подключить и к другим модулям в проекте
📝 Объявление версии всех плагинов в одном месте - settings.gradle
Исправлена скорость сборки на Windows при использование Java Library плагина
Теперь PMD поддерживает инкрементальную компиляцию
Улучшения в Worker API
➕Множество мелких улучшений и исправлений багов
источник
Android Broadcast
#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.
источник
Android Broadcast
Google опубликовала исходный код приложения Google I/O'19

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

What is a unit?

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

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

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

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

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

Android Jetpack Weekly #4

Текущая неделя была небогато на обновления:
👉 Выпущен стабильный WorkManager 2.2.0 в котором добавлена поддержка GCMNetworkManager в WorkManager
👉 Багфикс и изменения API в RecyclerView
👉 Багфикс в Jetifier
👉 Багфикс в DrawerLayout
источник
2019 August 19
Android Broadcast
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
источник
Android Broadcast
#Accessibility #GooglePlay

Improving Accessibility in the Android Ecosystem

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

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

Android Image Lighting Control and Color Filtering

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

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