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

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

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

Optimize the build speed for your Android project

Извечная тема - Gradle и скорость сборки. Очередная статья которая напоминает что сделать, чтобы не проводить много времени ожидая сборки проекта.

Что стоит добавить в gradle.properties
👉 org.gradle.configureondemand=true
👉 kapt.use.worker.api = true
👉 org.gradle.parallel=true
👉 org.gradle.caching=true
👉 room.incremental = true
👉 org.gradle.unsafe.watch-fs=true

А еще советы:
👉 Отключить crunchPngs
👉 Отключить загрузку Firebase mapping где не нужно
#AndroidBroadcast

Android Broadcast совместно с Avito.tech разработали стикерпак. Заветы Джейка, RxJava, Kotlin, Jetpack. Все это можно найти в стикерах.
#AndroidBroadcast

Помимо всего еще появились и интересные Zoom фоны от Android Broadcast! 🔥🔥🔥

Скачать фоны в высоком качестве можно ➡️ здесь
#Gradle #Performance

The proper care and feeding of your Gradle build

В дополнение к вчерашнему посту об оптимизации Gradle сборки Android проектов рекомендую еще уделить внимание и анализу зависимостей и плагинов вашего проекта.

В статье разбирается Dependency Analysis Gradle Plugin. Плагин поможет понять вам:
👉 Есть ли у вас в проекте неиспользуемые зависимости
👉 Если ли у вас неиспользуемые процессоры аннотаций
👉 Правильно ли вы объявляете зависимости
👉 Используете ли вы транзитивные зависимости, которые лучше объявить явно
👉 Все ли плагины используются?
#Dagger #Hilt #DependencyInjection

Scoping in Android and Hilt

В Dagger мы привыкли работать с Subcomponent и делать разные Scope, для того чтобы управлять жизнью отдельных объектов графа. В Hilt нас ждут перемены работы с графом и это задело Scope тоже

В статье происходит разбор того как создать Scope для ViewModel при использовании Hilt
#Kotlin #Native

Kotlin/Native Memory Management Roadmap

В Kotlin/Native изменится модель управления памятью, чтобы избавиться от ограничений, которые сейчас накладываются на параллельное программирование. Изменения пока еще находятся на стадии проектирования и текущая модель останется работать.
Как правильно назвать того, кто разрабатывает приложения под Android?
Final Results
74%
Android разработчик
13%
Разработчик под Android
6%
Android инженер
6%
Не участвую
#BatteryOptimization #OEM

The Bifurcation Of Android

Производителя устройств творят что угодно при разработке собственных прошивок. Нет Android разработчика, который не столкнулся с тем что стандартное поведение Android расходится с реализацией производителя.

В особенности приходится страдать из-за агрессивного убийства процессов в фоне, правда это справедливо не для всех. Часть предустановленных приложений или тех кто смог договориться попадают в white list. Как быть простому разработчику?

В статье вы найдете историю борьбы разработчика с производителем устройств и что Google предпринимает для того, чтобы приструнить создателей смартфонов
#Dagger #Hilt #Migration

Migrating the Google I/O app to Hilt

Google перевела приложение Google I/O на Hilt и результаты впечатляющие - убрали 1500 строк кода. Миграцию выполняли с dagger.android. Тем кто готов уже пробовать альфу - можете использовать как гайд, а исходники приложения как пример
#R8

Для тех кто обновился до AGP 4.0 то могли столкнуться с новыми багами в R8, инструментом для минификации и обфускации кода.

Версия R8 2.0.88, которая используется по умолчанию в AGP 4.0.1, генерирует байткод с проблемама при процессинге suspend функций

Ошибка исправлена в R8 2.1.52. Ниже пример кода как обновить R8 ⬇️
В корневом build.gradle вашего проекта надо добавить следующие строчки.
#UML

UML для самых маленьких: диаграмма классов

Автор статьи даёт новичкам теоретическую базу по UML-диаграммам для структуризации дерева классов в проекте. Диаграммы, благодаря общепринятым правилам, помогают более наглядно увидеть взаимоотношения и зависимости между моделями и абстракциями, а так же отображают структуру самого класса. Автор рекомендует составить подобную диаграмму прежде чем начинать любой новый проект, дабы предотвратить разногласия и непонимание структуры моделей всего проекта.
#AnroidX

Релиз AndroidX от 22.07.2020

Новые релиз обновлений нам принес:
👉 Стабильный WorkManager 2.4.0 (о них ниже)
👉 AndroidX Core 1.3.1 с исправлением бага c Typeface на Android 10
👉 Lifecycle 2.3.0-alpha06 получил пачку интересных изменений (о них ниже)
👉 Room 2.3.0-alpha02 получил поддержку RxJava 3 и включил инкрементальный процессинг по умолчанию
👉 Множество новых альфа-версий других библиотек
#WorkManager

WorkManager 2.4.0

👉 Больше возможностей для планировщика WorkManager, что запускает WorkRequest
👉 Поддержка RxJava3
👉 Возможность получить WorkInfo, используя WorkQuery.
👉 Возможность получить диагностическую информацию о работе WorkManager
👉 Новая политика ExistingWorkPolicy.APPEND_OR_REPLACE
👉 Возможность задать свой собственный RunnableScheduler для отслеживания WorkRequest, который будет выполнен позже
👉 Возможность динамического добавления фабрик в DelegatingWorkerFactory
👉 Новые правила Android Lint
👉 Улучшения в отслеживании BATTERY_NOT_LOW
👉 Улучшения в работе и исправления багов
#Lifecycle

Lifecycle 2.3.0-alpha06

Изменение поведения
👉 DESTROYED теперь терминальное состояние, что означает отсутствие каких-либо дальнейших событий
👉 LifecycleRegistry теперь будет проверять, что метод вызываются на главном потоке

👉 Новые вспомогательные методы downFrom(State)downTo(State)upFrom(State)upTo(State), которые генерирует Event для заданного State и направление перехода для его осуществления.
👉 Новый метод Lifecycle.withStateAtLeast, который дожидается когда Lifecycle, достигнет заданного состояния
#Resourses

How to name a color in Android

Есть мнение, что одной из основных проблем в программировании является именование. Как часто вы сталкивались с тем что не можете придумать название функции или ресурса? Для нас, как Android разработчиков беспорядок в xml с цветами является весьма привычным делом, хотя студия часто спасет, отображая цвет в колонке с нумерацией строк.

Автор статьи предлагает систему для именования цветов в xml, дабы в будущем избежать путаницы.
Используете ли вы в production проектах Navigation из Arch Components ?
Final Results
44%
Да
41%
Нет
6%
Что это?
9%
Не участвую в опросе
#Activity

Improving inter-activity communication with Jetpack ActivityResult

В ближайшем релизе androidx.activity нас ждёт замена onActivityResult() на новое API - Activity Result API. Вместо хранения requestCode, понимание правильно resultCode вы теперь просто делаете запрос и получаете результата.

Самое важное еще - все гайды с получением результата уже переписаны на новое API, а onActivityResult() будет deprecated
#BestPractices

40 советов, которые навсегда изменят ваше программирование

Статья, которая содержит 40 достаточно полезных рекомендаций для разработчика, будет полезна как новичкам, так и опытным программистам. Заголовок немного кликбейтный, потому что каждому разработчику присущ свой стиль написания кода, но советы действительно помогут пересмотреть свои взгляды на определённые вещи в разработке.