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

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

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

It's Nothing

В Kotlin есть 3 специальных типа: Any, Unit и Nothing. И если первые 2 часто понятны (аналоги Object и Void), то вот Nothing зачастую вызывает вопросы:
👉 Зачем нужен тип экземпляр которого ни создать, не получить?
👉 Когда стоит использовать Nothing, а когда Unit
👉 Nothing - подтип любого типа? Это же невозможно в JVM!

В статье разбираются случаи использования Nothing
​​#Meetup #Avito #НижнийНовгород

Avito Android митап в Нижнем Новгороде

29 февраля (суббота) в Нижнем Новгороде пройдет Android митап, организованный совместно Avito и GDG Gorky. В рамках митапа вас ждут 4 доклада:
👉 Организация и инфраструктура дизайн-системы Авито — Андрей Данилов@Авито
👉 MotionLayout. Анимации, как у сына маминой подруги — Андрей Тумаринсон@MERA
 👉 Мы вынесли инфраструктуру для Android в open source — Сергей Боиштян@Авито
👉 Почему Kotlin Coroutine — лучшее, что подходит Android — Кирилл Розов@Android Broadcast

В своем докладе я расскажу о интеграции Kotlin Coroutines в Android приложения и почему стоит выбрать/переходить на него уже, если не успели сделать этого раньше.

Для тех кто не сможет попасть, то вы сможете посмотреть онлайн трансляцию.

Я буду рад увидеть всех вас и пойти куда посидеть всем вместе после митапа или в воскресенье. Пишите если есть такое желание мне в личку @krlrozov, так как надо понять на какое время заказывать билеты.
#Testing #Instrumentation #UIAutomator

Вышел Kaspresso 1.1.0

Разработчики Kaspresso продолжают работу над ошибками в Instrumentation тестирование под Android и теперь они улучшают UI Automator - встречайте Kautomator.

Kautomator ускоряет UI Automator просто до небес 🚀. Подробности как это сделали здесь. Сравнение скорости работы смотрите ниже ⬇️⬇️⬇️

Кроме того, Kautomator - это красивая обертка над UI Automator, делающая написание тестов одним сплошным удовольствием, используя возможности Kotlin.

В купе с механизмом интерсепторов, Kaspresso + Kautomator обеспечивают мощную защиту от flaky. Подробнее здесь и здесь.

Новый релиз также отметился:
🔥 Тестирование обновлений приложения
🔥 Проверка Logcat логов, которая позволяет следить за соблюдением GDPR
👉 Новый continuously метод для тестов
👉 Улучшения в BaseTestCase и BaseTestContext
👉 Исправление багов
👉 Улучшение документации и примеров

Совсем скоро в гости к Android Broadcast Podcast придут создатели Kaspresso, чтобы рассказать больше о тестирование Android приложений и как их библиотека его улучшает
This media is not supported in your browser
VIEW IN TELEGRAM
Сравнение работы Kautomator (слева) и UI Automator (справа)
#RecyclerView

Anatomy of RecyclerView: a Search for a ViewHolder

RecyclerView - один из самых популярных виджетов в Android разработке. Его устройство не простое и состоит из множества компонентов: LayoutManager, Adapter, ViewHolder, ItemAnimator, ItemDecoration и др. Но сколько магии скрывается внутри для обеспечения работы.

В статье разбирается что скрывается за методом getViewByPosition() для получения View, которая будет отображаться в заданном элементе списка.
#Tooling

Become a Master Builder with these Android Dev Tools

Обзор различных библиотек и программ, которые помогут вам сделать работу проще:
👉 Vysor - шаринг экрана реального устройства
👉 Chucker - перехватчик сетевых запросов
👉 Stetho - множество информации через Chrome
👉 LeakCanary - слежка за утечками памяти
👉 Shape Shifter - визуальный редактор для AnimatedVectorDrawable
👉 Charles Proxy - сетевая прокси
👉 Accessibility Scanner - проверка Accessibility вашего приложения
👉 Window Visual Quality Assurance - измеряем view на экране
👉 Screen Recorder - запись видео с экрана
👉 Dev Tiles - быстрый доступ к настройкам dev options через Tiles
👍1
Android Broadcast
#Tooling Become a Master Builder with these Android Dev Tools Обзор различных библиотек и программ, которые помогут вам сделать работу проще: 👉 Vysor - шаринг экрана реального устройства 👉 Chucker - перехватчик сетевых запросов 👉 Stetho - множество информации…
В дополнение стоит обратить внимание на утилиту scrcpy от Genymotion, которая является бесплатным аналогом Vysor , а также приложение Developer Assistant, которая позволяет вам проверять layout, style, переводы и другое прямо с вашего устройства
#Dagger #Performance

Speeding Up Builds with Dagger Reflect

В Dagger есть 2 боли - сложность описания графа и скорость сборки проектов. С первой проблемой не справиться просто, но вот для второй разработчики придумали уходить от процессора аннотаций в пользу рефлексии. Это снижает скорость работы Dagger, но увеличивает скорость сборки.

Одна грусть во всем этом - уйти полностью от процессора аннотаций в случае Dagger нельзя (
Android Broadcast
#Tooling Become a Master Builder with these Android Dev Tools Обзор различных библиотек и программ, которые помогут вам сделать работу проще: 👉 Vysor - шаринг экрана реального устройства 👉 Chucker - перехватчик сетевых запросов 👉 Stetho - множество информации…
И еще одно приложение - Designer Tools, которое позволит вам отобразить сетку поверх экрана и проверить расположение элементов. Помимо это тулза поможет проверить соответствие дизайна мокапу, путем наложения его, и сверить цвета.
#EditText

Adventures in the Land of EditText

Жизнь с EditText не так проста, если вам надо что-то сделать больше чем просто добавить на UI и получать из него введенный текст.

В статье разработчики делятся своим опытом активной работы с EditText и Span: что делали, с какими проблемами столкнулись и как решали.
​​FileBox - Async file downloader for Android

Библиотека для асинхронной загрузки для загрузки файлов по URL.

Библиотека умеет правильно работать с Etag, шифровать файлы, кэшировать загрузки и много много другого
#EventBus

Вышел EventBus 3.2

Я думал что пациент давно мертв, но нет - он вернулся с новой версией. Изменения:
👉 Инкрементальный процессинг аннотаций
👉 Улучшена поддержка Jetpack
В Telegram есть возможность соединить канал с чатом, только у реализации есть одна проблема - все из канала начнется сыпаться в чат и пиниться. Из-за этого я не делал этого, но решил спросить вашего мнения.
Final Results
26%
Подключать
74%
Не стоит
И сражу же второй вопрос - стоит ли выделить новости о Android Broadcast (нововведения, анонсы, новые выпуски подкастов и видео) в отдельный канал? Сейчас получается мешак в этом канале и собственный контент канала теряется между ними
Final Results
20%
Хорошая идея
7%
Отдельный канал и дублировать здесь
62%
Как сейчас хорошо
11%
Мне все равно
#DependencyInjection

Koin – это Dependency Injection или Service Locator?

Можно ли Koin назвать Dependency Injection? В статье вы найдете разбор "по понятиям" для Koin.

Со своей стороны могу сказать одно - Koin упростил мне работу с DI и неважно к какому классу его отнесут.
И последний вопрос на сегодня - слушаете ли вы Android Broadcast Podcast? Не важно в каком формате (SoundCloud, YouTube, Google Podcast или др.)
Final Results
38%
Слушаю 😎♥️
14%
Первый раз слышу о таком
17%
Не слушаю подкасты вовсе 🔥
13%
Не слушаю Android Broadcast Podcast
2%
Слушал(а), не понравилось ☹️
7%
Не слушаю по другим причинам
8%
Покажите ответы ☹️
#CodeQuality #Kotlin

Speeding up the Detekt in a multi-project Gradle build

Рецепт для ускорения проверки Kotlin кода с помощью Detekt для тех кто использует его в много модульном проекте.

На своем проекте автор смог добиться ускорения в 10 раз (64 сек -> 6 сек)! Проект из 56 модулей и примерно 7000 тысяч строк
#RxJava

Вышла RxJava 3.0

На день всех влюбленных нам решили подарить новую мажорную версию RxJava.

Что нового:
👉 Минимальная версия поддерживаемая версия Java теперь 8 + добавилось множество возможностей
👉 Улучшена работа с ошибками
👉 ConnectableFlowable и ConnectableObservable - поддержка множества подписчиков
👉 Возможность приостанавливать Flowable
👉 Улучшение работы операторов
👉 Улучшение stacktrace при ошибках

Подробности изменений в API
Полный список изменений можно найти здесь

RxJava 2 переходит в режим поддержки и в нее будут добавляться только багфиксы.
​​#Podcast #Gradle #Performance

Android Broadcast Podcast #7: "На старт! Внимание! Build!" Ускоряем Gradle co Степаном Гончаровым

Нет в Android мире разработчика, который бы не сталкивался с Gradle, и особенно с тем что она имеет свойство выполняться долго.

Как ускорить сборку проекта? Какую "магию" применяют в больших проектах, где количество строк исчисляется не одной сотней тысяч? Помогают ли в этом рекомендации Gradle? Может пора переходить на Bazel? Обо всем этом мы поговорили с гостем - Степаном Гончаровым.

Степан занимается мобильной разработкой более 10 лет. В настоящий момент Engineering Manager в Grab. Занимается CI/CD тулингом, билд таймом и продуктивностью 200+ мобильных разработчиков. Bazel фанбой. Организатор Kotlin User Group Singapore. Последние два Mobius рассказывает о работе с Gradle.

Полезные ссылки:
👉 Советы по улучшению производительность от команды Gradle
👉 Доклад Степана "Gradle pipeline optimization: Beyond basics"
👉 Kapt и разные опции
👉 Официальный сайт Bazel
👉 Пример настройки Bazel и Android
👉 Плагин для подключения Android SDK в Java модуль
👉 Плагин для подключения AAR в Java модуль

Это первый выпуск, где ведущий стал использовать новый микрофон. Качество звука стало лучше.

Спасибо Александру Марцинкевичу за помощь в подготовке выпуска
Должны ли сведения о ЗП открыты внутри компании и за ее пределами?
Anonymous Poll
42%
Да, и поделился бы своими
13%
Да, но свои не дам )
45%
Пусть все будет покрыто тайной