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

No more NPE: Converting Java to Kotlin safely

Для тех кто не успел мигрировать код с Java на Kotlin или делает это постепенно, а может и вовсе имеет legacy код на Java, о которого не уйти, то рекомендую вам ознакомиться со статьей.

Автор рассказывает как правильно подготовить ваш код для совместимости с Kotlin, конвертации его и аннотирования полученного кода для максимальной совместимости на уровне байт-кода с исходной версией в Java.
#AndroidAcademy #UI

Android Academy Minsk Topic #6 - Themes & Styles

6 апреля в 19.00 пройдет вебинар о кастомизации UI через темы и стили в Android.

План:
- Theme attributes
- Styles
- Theme.Overlay
- TextAppearance
- Применение style
- Библиотека Material Components
- Custom views & styles
- Лучшие практики по работе со стилями и темами
#Jetpack

Обновление библиотек Jetpack 01.04.2020

Новинки:
👉 ExifInterface 1.2.0. Поддержка EXIF в PNG и WebP и возможность проверки поддержки заданного mime type
👉 AppCompat 1.2.0-beta01 с важными исправлениями в Window Insets и новыми проверками в Android Lint
👉 RecyclerView 1.2.0-alpha02. Новый MergeAdapter для объединения нескольких адаптеров
👉 Activity 1.2.0-alpha03 - улучшения в Activity Result API. Рекомендуется перечитать документацию "Getting a result from an activity"
👉 Вторая beta CameraX
👉 Fragment 1.2.4 - исправление работы ProGuard для Fragment
👉 Новые бета Core, CustomView, DrawerLayout, Emoji, SlidingPaneLayout
👉 Новые альфы WorkManager, ViewPager2, Fragment
#AndroidStudio

Layout Inspector

В Android Studio 4.0 (пока еще в beta) добавили 3D Layout Inspector. В статье разбор этой функции и как ей воспользоваться
#Kotlin #KotlinVocabulary #UnderTheHood

Inline functions — under the hood

inline функции - это особенная функция, которая позволяет оптимизировать код на уровне компилятора, избавлять от создания ненужных лямбда выражений и вызова функций.

В статье разбирается как работает ключевое слово inline в Kotlin.

Когда лучше его использовать:
👉 Для функций, которые имеют функции в качестве параметра
👉 Для небольших функций, чтобы конечный байт код не разрастался
#Meetup #Interview

Интервью со спикерами с Android митапа Avito в Нижнем Новгороде 29.02

Помимо интересных докладов на митапе компании Avtio в Нижнем Новгороде выдалось пообщаться со спикерами и задать им много интересных вопросов. В плейлисте вы найдете много ответов на разные интересные вопросы о разработке, сообществе и Android 11
#UI

Introducing dual-screen layouts for Android

Microsoft готовит API для их двухэкранного устройства Microsoft Surface Duo. Устройство от Microsoft - это очередная попытка уйти от стандартного формата моноблока.
Microsoft Surface Duo
#Design

32 отличия дизайна мобильного приложения под iOS и Android

Статья которую я не смогу обойти, так как страдаю от дизайна, когда он не адаптируется под платформу и не использует всю прелесть Material Design, а может и наоборот - использует ее слишком, даже где не нужно. Да еще и дизайнеры зачастую - это пользователи Apple стороны и не знают пользовательского опыта Android.

Статья сможет показать различия и послужить аргументами в разговоре с ними. Что разбирается:
👉 Базовые отличия Humans Interface Guideline (HIG) и Material Design (MD)
👉 Отличия в навигации
👉 Отличия в компонентах (UI)
👉 Другие отличия: магазины, кликабельные зоны, splash экраны, форматы данных, дизайн пустых состояний и прочее
#RecyclerView

Merge adapters sequentially with MergeAdapter

Последняя альфа версия RecyclerView 1.2.0-alpha02 в котором появился MergeAdapter. Новый адаптер позволяет поочередно соединить в себе содержимое из нескольких адаптеров списка.

Примеры для его применения: добавление header и footer, отображение прогресса загрузки в списках с бесконечным скроллом и др.

В статье разбирается как завести новый MergeAdapter
#Опрос #Итоги

Известность команд мобильной разработки в 2020

Каждый год Егор Толстой проводит большой опрос среди мобильных разработчиков, который помогает оценить текущее состояние рынка и то, насколько вложения в технический бренд компаний влияют на их публичный образ.

И вот результаты для Android Broadcast. В прошлом году проекта даже не было в рейтингах, но в этом году смог отметиться по нескольким категориям:
🥉 Android Broadcast Podcast - 3-е место среди Android подкастов!
🏆 Android Broadcast Telegram канал - 1-е место среди новостных Android ресурсов
👨 Автор проекта, Кирилл Розов, появился в категории "За кем из экспертов в профессиональном сообществе в России вы следите?"! Это очень радует.

Спасибо всем читателям и тем кто поддержал проект. Буду радовать вас и в будущем интересным контентом!
👍1
#Coroutines

Coroutines & Patterns for work that shouldn’t be cancelled

Structured Concurrency в Kotlin Coroutines позволяет завершать асинхронные операции, когда их результат больше не нужен. Jetpack предоставляет стандартные CoroutineScope: viewModelScope и lifecycleScope.

Но порой есть операции, которые должны выполняться и за рамками CoroutineScope в котором была запущена Coroutine.

В статье разбирается:
👉 Coroutines или WorkManager?
👉 Лучшие практики Coroutine
👉 Выполнение операций, которые не должны быть отменены в ходе выполнения Coroutine. CoroutineScope из вашего Application класса
👉 Тестирование Coroutine
👉 Альтернативы: GlobalScope, ProcessLifecycleOwner scope, NonCancellable
#Podcast

Android Broadcast Podcast #11 "Развитие мобильного разработчика"

Что делать когда вы проработали много лет в мобильной разработке и думаете: "Куда вам расти дальше"? В гостях подкаста 3 опытнейших и известных разработчика из Facebook, Авито и JetBrains Kotlin Team.

Ведущий - Кирилл Розов
Гости:
👨‍✈️Константин Цховребов, JetBrains, разработчик в Kotlin Mobile Multiplatform
👨‍✈️ Даниил Попов, Авито, Инженер инфраструктуры Андроид проектов
👨‍✈️ Сергей Рябов, Facebook, Software Engineer в команде Native UI Frameworks, разработчик библиотеки Lytho

Спасибо Александру Марцинкевичу за помощь в подготовке выпуска

Отдельное спасибо Даниилу Попову за 🎵трек 🎵для подкаста. Хотите себе что интересное - пишите ему в личку
#WorkManager

Customizing WorkManager — Fundamentals

Продолжение серии статей о WorkManager, в которой разбирается как изменить настройки работы:
👉 Когда может понадобиться конфигурировать WorkManager самостоятельно
👉 Как предоставить собственную конфигурацию
👉 WorkerFactory: что такое и как добавить поддержку нестандартных конструкторов для подклассов ListenableWorker
👉 DelegatingWorkerFactory - оборачиваем несколько WorkerFactory через стандартную фабрику, вместо конфигурирования WorkManager для использования собственной фабрики
#GooglePlay #Huawei

Массовые удаления ваших приложений с устройств

На днях вы могли заметить заметное количество удалений ваших приложений в Google Play. Это связано с тем, что Huawei поменяла имена устройств и аналитика магазина приложений, посчитала это как удаление приложения и установку на новый.

Бейте тревогу если количество установок у вас не выросло соизмеримо с количеством удалений
#Optimization

App size reduction at Microsoft SwiftKey

История того как в Microsoft оптимизировали размер SwiftKey на Android.

В статье разбирают:
👉 Зачем оптимизировать размер APK
👉 Оптимизация кода
👉 Оптимизация ресурсов
👉 Оптимизация нативного кода
Также в статье выше Microsoft рассказали о интеграции в Azure DevOps Task и Github Actions шага по анализу размеру APK.

Инструмент позволяет анализировать 2 APK и сравнить их разные метрики:
👉 размер APK (apkSize)
👉 размер после установки (installSize)
👉 размер dex файлов (dexFiles)
👉 размер файлов ресурсов (arscFile)
👉 размер нативного кода (nativeLibs)