Android Broadcast
13.8K subscribers
3.13K photos
225 videos
9 files
5.31K links
Подборка новостей и статей для Android разработчиков.

Связь с автором @android_broadcast_bot
Реклама @android_broadcast_bot
Download Telegram
Forwarded from Kotlin Broadcast (Кирилл Розов)
#test #coroutines

Migrating to the new coroutines 1.6 test APIs (5 мин)

В KotlinX Coroutines 1.6 значительно обновили API для тестирования корутин, если вы еще не успели мигрировать на новую версию библиотеки и у вас есть тесты, то статья расскажет вам про изменения:
👉 runTest вместо runBlockingTest
👉 Замену главного потока на новый TestDispatcher
👉 UnconfinedTestDispatcher для тестирования Flow
👉 Разница между UnconfinedTestDispatcher и StandardTestDispatcher
👉 Сброс кода после тестов

Пример обновления тестов можно найти здесь, здесь и здесь. Также есть официальное руководство по миграции от JetBrains
#compose

Independent versioning of Jetpack Compose libraries

👉 Начиная с 29 июня 2022 библиотеки Compose отходят от общего релизного цикла и соответственно одинаковых версий
👉 Стабильный Compose 1.2.0 поддерживает Kotlin 1.7.0
👉 Теперь гарантируется совместимость в обе стороны для библиотек Compose с новыми версиями компилятора. Например, вы можете обновить Compose Compiler до 1.2.0, чтобы получить новую версию Kotlin, но вот сами библиотеки Compose можно оставить в версии 1.1.0
👉 Compose Compiler будет выходить чаще, чтобы поддерживать последние изменения в Kotlin. Карту совместимости версий Compose и Kotlin смотрите здесь
👉 Про отвязку от версии Kotlin речи пока так и не идет. Нужно дождаться стабильного API плагинов Kotlin компилятора.
#jetpack #jetpackupdate

Обновление Android Jetpack от 29 июня 2022

Новая пачка обновление радуем множеством стабильных библиотек, которые построены вокруг новой возможности в Lifecycle 2.5.0 - ViewModel CreationExtras.
👉 В Activity задепрекейтели все callback и перевели в Provider API.
👉 Также все кто работает с камерой могут обновляться — вышла Camera 1.1.0 с поддержкой видео, а также множеством улучшений и исправлений багов.
👉 Все больше библиотек переписывают на Kotlin
👉 Compose в Stable поддерживает Kotlin 1.7.0
Forwarded from Kotlin Broadcast (Кирилл Розов)
KotlinConf возвращается! Супер ранние билеты разобрали за минут 30, но сейчас доступны ранние билеты по цене 375 евро + НДС. Пройдет событие в Амстердаме.

С удовольствием бы съездил, но как представлю сколько предстоит дороги и гемороя с визой, то все желание отбилось напрочь
#compose

Jetpack Compose Stability Explained (13 мин)

Jetpack Compose при обновлении состояния старается перерисовывать как можно меньше частей. Чтобы это происходило эффективнее вам надо помечать типы, которые входят в состояние, с помощью специальных аннотаций Immutable и Stable

Автор статье подробнее рассматривает
👉 что такое стабильность в Compose
👉 что такое рекомпозиция
👉 как дебажить состояние
👉 когда вам нужно проставлять аннотации
#performance #compose

Screen response time. A critical metric for user experience (9 мин)

Команда OkCredit делится своим опытом оптимизации скорости отрисовки первого кадра в Android приложении.

В статье разбираются:
👉 принципы загрузки экранов с UI на XML и Jetpack Compose
👉 Что является хорошей скорость показа первого кадра
👉 Способы ускорения отрисовки
👉 Хорошие и плохие практики

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

Из статьи узнал про тулзу X2C которая конвертирует XML файлы в Java код, чтобы не использовать рефлексию. Буду писать про нее отдельно после исследования
Forwarded from Kotlin Broadcast (Кирилл Розов)
14 задач по Kotlin lists, которые заставят вас подумать

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

Надеюсь автор статьи так на собесе не спрашивает 😁
📺 Жизнь без публикации в Google Play и App Store (~50 мин)

#AndroidBroadcast #РаннийДоступ

В текущих реалиях санкционные компании столкнулись с тем, что распространять сборке в Google Play и Apple App Store невозможно. Разработчикам надо решать новые задачи для распространения своих продуктов, а также обеспечения их безопасности. Вот что делать с iOS разработкой совсем непонятно и будет ли это катастрофа для яблочного сообщества в России и Беларуси. Обо всем этом в новом интервью на канале
#ПодборкаВидео

📺 Почему процессоры греются? (9 мин)
📺 How to Hide & Protect API Keys in Your Android App (Reverse Engineering) (10 мин)
📺 The Full Guide to Debugging Your Android Apps - Android Studio Tutorial (11 мин)
📺 Gradle Review Show, LIVE. 30/06/2022 (2.5 часа)

P.S. Понял как давно уже не было контента на канале и ахнул. Скоро наверстаю
Forwarded from Kotlin Broadcast (Кирилл Розов)
#AndroidBroadcast #сoroutines #курс

📺 Курс по корутинам #8. Android (8 мин)
Ранний доступ на Boosty

В новой части курс рассказываю про применение корутин в Android: особенные CoroutineScope, suspend функции и прочие аспекты
#compose #animation

Customizing AnimatedContent in Jetpack Compose (9 мин)

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

Примеры того какие анимации делают вы можете посмотреть в этому посту. В коде это тоже делать несложно. Анимация с Compose действительно становится проще и понятнее
#AndroidBroadcast #новости

📺 Новости 2022.12 (0.5 часа)

В свежем выпуске рассказываю про множество новинок Jetpack, способно ли AI заменить команду разработчиков и др. новости прошедших 3 недель.
No emulator needed for screenshot tests of Compose @Previews on CI (3 мин)
#compose #testing

Инструкция как с помощью библиотеки Paparazzi организовать скриншот тестирование без эмуляторов или реальных устройств, если ваш UI написан на Compose.
📺 Экспертное собеседование в стартап. Дудаков - Иванов (2 часа)
#AndroidBroadcast #cобеседование

Экспертное собеседование в новомодный стартап. Кандидат должен будет написать небольшое Android приложение. Упор будет сделан на важные навыки для стартапов на ранней стадии.

Запись останется после эфира на YT канале
This media is not supported in your browser
VIEW IN TELEGRAM
#compose #animation

Orbitary - Compose библиотека для создания анимация с переходом элементов (transition with shared element)
#googleplay

ФАС обязала Google разрешить сторонние способы оплаты в Google Play

Не понял шаг вызван текущей ситуацией или давно прорабатывался, но платный контент в Google Play в России и Беларуси это все равно не вернёт. На устранение дали 1 месяц (до 4 августа)

В Google сказали, что ещё не получили текст предупреждения: «Мы должны изучить его, чтобы определить следующие шаги»
#tooling

X2C - библиотека для конвертации XML Layout в код

Задача библиотеки — избавится от рефлексии при парсинге Layout XML, чтобы создать иерархию View для отображения.

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