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
#SVG

Very long vector path

Сталкивались с тем что Android Lint жалуется на слишком большой VectorDrawable у вас в ресурсах? Всё верно! Авторы фреймворка задумывались и VectorDrawable как о легком варианте иконок, а не сложных графических ресурсах.

В статье автор показывает проблемы и предлагает несколько утилит для оптимизации SVG:
👉 Avocado
👉 Svgo
👉 Svgomg

Также как вариант может сработать взять стандартную Material иконку не ту, которую дал дизайнер, а добавить из пресета Android Studio. Дизайнеры берут вариант SVG, который неоптимизирован для Android VectorDrawable, а в AS лежат оптимальные.
#Material #UI

Вышла Material Component 1.3.0

В новой версий библиотеки вас ждёт:
👉 Виджет Time Picker
👉 Виджеты для отображения прогресса: линейный и круговой
👉 Исправление багов
#Security

Android Nesting Intents

Intent вложенный в другой Intent может стать уязвимостью вашего приложения. Проблема заключается в том что вы можете положить Intent, который должен запустить компонент вашего приложения, а это возможно только если он будет публично доступен (в манифесте стоит exported=“true”) либо открыт доступ приложениям подписанным таким же ключом как у вас.

Решением является использование PendingIntent, который в отличие от Intent всегда выполняет в Context в котором он был создан т.е. вызов будет происходить как будто все происходит внутри вашего приложения. Тем самым вам не придется открыть чего либо наружу. Заметили что все системные API принимают именно PendingIntent, а не Intent?
#Dagger #Koin #Hilt

How Dagger, Hilt and Koin differ under the hood?

Сравнение подкапотной работы популярнейших решений для DI на Android, а также их преимуществ и производительности
#конференция #cfp

Конференция по мобильной разработке Mobius ищет спикеров!

Если вы давно хотели поделиться с профессиональным сообществом полезными знаниями и заодно устроить себе челлендж, но все ждали знака — это он. Пришлите заявку, пройдите отбор и выступите в прямом эфире Mobius 2021 Piter, который пройдет 13-16 апреля.

Больше всего ждут следующие темы:
👉 Платформы под капотом
👉 Software Craftsmanship
👉 Архитектура;
👉 Качество продукта;
👉 Тренды в мобильной разработке
👉 Инфраструктура

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

Заявки принимаются до 16 февраля. Вопросы присылайте @OksanaMiroshnichenko
Publishing to Maven Central

После объявление о закрытие JCenter стали как никогда актуальны статьи о переезде в Maven Central и их посыпалось как из ведра. В статье рассматривается публикация артефактов, автоматизация процесса и примеры
Автор создал новый технический контент в несколькких форматах. Что предпочитаете вы?
Final Results
61%
Читать статью
25%
Смотреть видео
4%
Слушать видео
5%
Слушать подкаст
5%
Не участвую в опросе
#Dagger

Вышел Dagger 2.32
👉 В AssistedFactory теперь надо явно задавать имена для аргументов, которые имеют одинаковый тип
👉 Исправление багов в генерации AssistedFactory

Hilt
👉 Новый метод delayComponentReady() в HiltAndroidRule, который позволяет инициализировать компоненты в тестах до запуска выполнения теста
👉 HiltAndroidRule теперь требует чтобы inject() вызывался не более одного раза в тесте
👉 Удалили deprecated ApplicationComponent
👉 Исправили работу с Android Gradle Plugin 4.2.0-beta04
#Архитектура #Модуляризация

Modularization of Android Applications in 2021

Модуляризация Android приложений уже никого не удивишь. Тему замусолили вдоль и поперёк, кто-то интегрировал к себе, кто-то забил. Ребята из Касперского развивают свой опыт про модуляризацию и раскрывают различные аспекты:
👉 Принципы разделения модулей
👉 Модуляризация с явной инициализацией
👉 Модуляризация с отложенной инициализацией модулей
#AndroidBroadcast

Ktor: микросервисы, веб приложения и клиенты в одном фреймворке (Livestream)
Сегодня в 19.00 (GMT+3)

В гости Android Broadcast приходит Леонид Сташевский - Tech Lead проекта Ktor из JetBrains. Мы обсудим с ним Ktor, его особенности и будущее.

Подключайтесь чтобы послушать и задавать свои вопросы
#Kotlin

Announcing Kotlin Symbol Processing (KSP) Alpha

С переходом нового компилятора Kotlin в Beta статус плагины компилятора тоже развиваются. Помните Kotlin Symbol Processing (KSP), которая призвана ускорить генерацию кода в Kotlin проектах, заменив KAPT? Так вот она перешла в альфу

Статус поддерживаемых библиотек сейчас можно найти здесь, а также добавить те, которые важны вам. Сейчас адаптацию пока начали делать только в Room.
#Jetpack

Обновление Android Jetpack от 10.02.2021

Новая неделя принесла нам целую кучу нового функционала в стабильных версиях:
👉 Новое Activity Result API
👉 Рефакторинг внутренностей Fragment
👉 Новое API для передачи/получения результата между Fragment
👉 Улучшения работы с Lifecycle
👉 Возможность получать LifecycleOwner, ViewModelStoreOwner из View
👉 Deprecation onAttachFragment(), FragmentViewPager, Fragment.setRetainInstance() и др. API

Подробности изменений на сайте developer.android.com
Quality to match with your user’s expectations

На сайте developers.android.com появился новый раздел "App Quality", содержащий ключевые аспекты качественного Android приложения.

В первом релизе вы найдете:
👉 UI/UX
👉 Функциональность
👉 Производительность и стабильность
👉 Приватность и безопасность
👉 Google Play
Early Access Program for Qodana, a New Product That Brings the “Smarts” of JetBrains IDEs Into Your CI Pipeline

IDEA помимо хорошего функционала по навигацию и рефакторинга кода содержит внутри себя множество проверок кода на разных языках - статический анализ. Использовать их отдельно от IDEA не представляется возможным, но новый продукт от JetBrains это делает. Встречайте Qodana!

Проект состоит из 2 частей: ядро IDEA без GUI для использования на CI как линтера и интерактивный Web UI для отчётов.

Посмотреть примеры работы можно на qodana.beta.teamcity.com (логинтесь как гость) и в любом проекте открывает таб "Qodana".

Использовать Qodana можно через Docker образ, GitHub Action, плагин для TeamCIty или как облачный сервис.

После такого понадобятся ли нам Detekt, Ktlint и прочие анализаторы кода? Как минимум нужен локальный Gradle плагин ещё
#GitHub #CI #CD

GitHub Actions for Android developers

После покупки GitHub компанией Microsoft сервис стал обрастать кучей возможностей и стал не только местом хранения кода, но CI/CD (GitHub Actions) и хранилищем артефактов. Причем все это доступно бесплатно, естественно в ограниченном количестве.

В статье автор разбирает как использовать эти возможности, чтобы автоматизировать сборку Android артефактов, тестирование, публикацию релиза + уведомление в Slack. Для всего этого уже существует огромный набор готовых Action от разработчиков, которые и используются в статье.
#DataBinding #Coroutines

StateFlow with One- and TwoWay-DataBinding on Android

В Android Studio Arctic Fox будет поддерживаться DataBinding на основе StateFlow. В статье автор рассказывает как это реализовать
#Compose #AndroidStudio #Jetpack

В Android Studio Arctic Fox Canary 6 добавили поддержку Jetpack Compose в Layout Inspector. Теперь можно проверять что и как у вас отображается на экране. Руководство по настройке здесь
#AndroidBroacast

Собеседование в прямом эфире (~ 2 часа)

На канале прошло собеседование в прямом эфире. Было 300+ человек в онлайне. Кандидат - Senior Adroid разработчик с 5 годами опыта в Android. Опыт был невероятный и сиквел уже напрашивается. Жду еще обратной связи, но уже готов сделать в марте снова, причём изменив формат проведения на livecoding или в компанию другого формата.

В первую очередь поучаствовать в новом интервью получат подписчики любого уровня на Boosty
#безопасность

Introduction to Android Security

Общий обзор возможностей Android в плане безопаности