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

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

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

Android 11: Beta Plans

Карантин внес коррективы в график выход сборок Android 11 - все двигается на месяц вперед. Также стала доступна Developer Preview 4 в которой нет серьезных изменений
#UI

Refactoring Android Themes with Style

Рекомендации по работе по структуризации тем и стилей в Android на основе доклада “Developing Themes with Style” от  Nick Butcher и Chris Banes. Также в статье разбирается рефакторинг нескольких тем на одну.

Подход очень интересный и я возьму его себе на заметку, так как раньше делал по другому
How to list Third-Party Dependencies Licenses in your Android app

Разбор как настроить OSS Licenses Gradle плагина, который позволяет вам добавить в приложение Activity, которая выведет всех библиотек, подключенных в ваше приложение, и их лицензии
#GooglePlay #AppSigning

Answers to common questions about App Signing by Google Play

Google Play App Signing - это система безопасного хранения ключей подписи вашего приложения. Если вы используете App Bundle для загрузки ваших сообщений в Google Play, то вы точно знакомы с этой системой.

В статье раскрываются ответы на вопросы:
👉 Что делать в случае потери ключа?
👉 Почему разработчикам стоит переключиться н на использование App Signing?
👉 У меня очень старый ключ, который не отвечает современным требования криптографической безопасности. Что делать?
👉 Upload Key был украден. Что делать?
👉 Как скачать ключ, который используется для подписи конечно приложения? (Ответ: никак)
👉 Как убедиться что приватный ключ не перехвачен при загрузке его в Google Play?
👉 Как защищен ключ в инфраструктуре Google?
👉 Как получить доступ к публичному сертификату, для использования на сторонних сервисах (напр. Facebook SDK, Firebase)?
👉 Чем отличаются артефакты, отправляемые пользователям, от тех что вы собираете локально?
👉 Как получить доступ к артефактам, отправляемые пользователям?
👉 Как распространять приложение в других магазинах?
👉 Нужно ли переключаться на Android App Bundle и использовать Dynamic Delivery ?
#R8 #JakeWharton

R8 Optimization: Lambda Groups

Разбор как оптимизируются лямбда выражения в Java и Kotlin с помощью R8
#LiveData #Coroutines #ArchitectureComponents

No more LiveData in Your Repository: There are better options

Google предложила в своей стандартной архитектуре использовать LiveData для получения данных из Repository. Это позволяет получать последние обновления.

Но так ли LiveData подходит для выполнения этой задачи? Либо лучше взять Coroutine Flow или Rx Observable для этого? Мой совет: "Да"! - LiveData больше про UI.
#Kotlin #Coroutines

Вышла kotlinx.coroutines 1.3.6

В новой версии произошли горячие изменения:
👉 Представлен StateFlow. LiveData может умереть 😈
👉 Множество операторов Flow перешли в stable из experimental статуса
👉 Добавлена поддержка RxJava3
👉 Улучшение дебага
👉 Исправление багов

Пошел разбираться в StateFlow 😁
#Jetpack #Foldable

Support New Form Factors with the new Jetpack WindowManager Library

Рассказ о библиотеке WindowManager из Android Jetpack, которая отвечает за поддержку работы с новыми различными форматами устройств (по большей части складные) для старых и новых версий Android.

Библиотека все еще находится в alpha-01, причем статус этот стоит у нее аж с 27 февраля. Библиотека оказалась ненужна. Видно авторы переоценили популярность такого рода устройств и желание разработчиков адаптировать под них приложения.
#MemoryLeak #LeakCanary

Вышел LeakCanary 2.3

Вышла новая версия решения для обслуживания утечек памяти в Android приложениях. Изменений мало в основном багфикс, но и для всех забывчивых, кто забывает убрать LeakCanary из релизных сборок будет происходить креш.
#ConstraintLayout #MotionLayout

Вышел ConstraintLayout 2.0.0-beta5

Крутые анимации (MotionLayout - это часть ConstraintLayout 2.0) подошли еще на одну beta версию ближе к нам. Новый релиз содержит только исправление багов
Forwarded from Android Dev Virtual Meetups
Мобильная кроссплатформенная разработка

Когда: 11 мая, ПН, 19.00 (GMT+3)
Где: YouTube канал ADVM

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

Эксперты кроссплатформы будут отвечать на ваши вопросы:
- Константин Цховребов, разработчик в Kotlin Mobile Multiplatform, JetBrains
- Евгений Кот, директор по развитию Wrike Prague, Dart & Flutter GDE, организатор HolyJS
- Александр Ефременков, Android GDE. Работает в Yandex, разрабатывает мобильные компоненты защиты.

Организовано Android Broadcast и Android Dev Podcast
#Kotlin #Coroutines

Phantom of the Coroutine от Романа Елизарова
4 минуты

Роман Елизаров делится тем, что люди, которые пришли из мира программирования с потоками (thread), не могут сразу адаптироваться к миру программирования с Coroutine.

В новой статье он объясняет в чем отличия
#CI #Bitrise

Be effective with Bitrise CI for Android — the lessons I learned the hard way
11 минут

Советы по настройке Bitrise CI, чтобы ваши сборки были как пуля быстрыми и эффективными.

В статье рассматривается:
👉 Запуск Unit тестов
👉 Сборка артефактов
👉 Автоматизация процессов
👉 и другие трюки для ускорения
#Facebook #AndroidX

Facebook SDK мигрировала на AndroidX

В последней версии Facebook SDK 7.0.0 наконец-то отказались от Android Support Library и переехали на AndroidX

Для меня это была последняя библиотека, которая не хотела выполнять миграцию и заставлять включать Jetifier. Наконец-то все исправилось!
#Kotlin

First Look at Kotlin 1.4-M2: Standard Library Improvements

Свежие новости о Kotlin 1.4. Скоро нас ждет следующее превью новой мажорной версии языка и нам рассказывают об изменениях, которые нас ждут в стандартной библиотеке:
👉 Теперь стандартную библиотеку можно без проблем использовать на любой из поддерживаемых языком платформ
👉 Новые функции для массивов: shuffle(), onEach(), reverse(), sortDescending()
👉 Новые функции для коллекций и Sequence
👉 String.toBoolean() стало String?.toBoolean() и теперь для null String? будет возвращать false
👉 maxOf() и minOf() принимают vararg
👉 Теперь ReadWriteProperty наследуется от ReadOnlyProperty. Это позволит использовать ReadWriteProperty с val
👉 Новый интерфейс PropertyDelegateProvider, который позволяет не создавать новый класс для делегата и использовать анонимный объект
👉 Делегирование одного property другому
👉 Если делегаты не будут использовать информацию из KProperty, то оно будет удаляться в момент компиляции
#Kotlin #CodeQuality

Вышел Detekt 1.9.0

Вышла новая версия статического анализатора Kotlin кода. Значительных обновлений нет, но появилось новое правило MandatoryBracesLoops, которое проверяет наличие блока у циклов
#Animation #VectorDrawable

Introducing Vectordrawable-Seekable

AnimatedVectorDrawable - крутая возможность Android для работы с графикой, но у нее не было возможности управления анимацией. Недавно была анонсирована разработка новой библиотеки, в которой появится SeekableAnimatedVectorDrawable.

Возможности нового класса позволяют ставить анимацию на паузу и перемещаться в любой ее момент (seek)
👍1
Primaree - простая библиотека, которая поможет вам безопасно инициализировать Android приложение со множеством процессов.

Скажите у вас такого быть не может? Скорее всего да, но сторонние библиотеки такое могут сделать. Надо быть внимательнее. Подробнее об этом можно узнать из доклада автора библиотеки.