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

Связь с автором @android_broadcast_bot
Реклама @android_broadcast_bot
Download Telegram
В течение следующих нескольких месяцев Google Play будет делиться информацией о политике, ограничивающей когда и какие типы Foreground Service может использовать ваше приложение, особенно если их тип не соответствуют ожиданиям системы.

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

@android_broadcast #googlelplay #android14
Начиная с Android 14, пользователь сможет увеличить размер шрифта до 200%, ранее максимальный размер был 130% (на устройствах Pixel). Масштабирование текста будет нелинейным. Это приведет к тому что уже большой размер текста не будет увеличен также как маленький. Все это делается в соотвествии с Web Content Accessibility Guidelines (WCAG)

Чтобы корректно расчитывать размер текста из sp в px теперь надо строго использовать TypedValue.applyDimension(), а для обратной конвертации TypedValue.deriveDimension(). Хардкодить расчет перевод больше нельзя!

Подробности тут

@android_broadcast #android14
Загружать код динамически в Android 14 можно будет только из файлов (DEX, JAR, APK), которые помечены как "read-only". В противном случае будет выброшена системная ошибка.

Google настоятельно рекомендует не использовать динамическую загрузку кода, так как это повышает риск кода быть скомпроментированным

@android_broadcast #android14
Не так давно представленный сервис Health Connect для синхронизации данных между различными фитнес приложениями, теперь является частью системы.

Появилась новая константа Context.HEALTHCONNECT_SERVICE, который вернет HealthConnectManager

#android14
Решил в одном месте собрать все лучшие практики по тому как сделать Jetpack Compose быстрым и без тормозов. Смотрите все в доке. Предлагайте свои полезные материалы в комментариях здесь или в доке, а потом все это можно будет организовать в виде полноценной статьи.

#compose #performance
Официальный cheat sheet по Jetpack ViewModel API. Версия в PDF тут

#jetpack
Forwarded from Kotlin Broadcast (Кирилл Розов)
7 лет назад вышла первая версия Kotlin, а так и не скажешь как это было давно

Делитесь в комментариях своими историями как вы попробовали Kotlin и как давно это было
Вышел Gradle 8.0
👉 Улучшение поддержки Kotlin DSL: скорость, Kotlin 1.8, JVM 11 Bytecode
👉 buildSrc теперь ведет более похоже на included builds
👉 Configuration cache (все еще incubating) стала параллельной на первом билде и больше поддержки базовых плагинов
👉 Прочие незначительные фичи

Помимо этого удалили все что было deprecated, а часть фичей стали стабильными

#gradle
This media is not supported in your browser
VIEW IN TELEGRAM
В Android 14 в боевой режим вступает новый жест назад "Predictive Back Gesture". Заявлено о нем было еще в Android 13, но сейчас он станет включен по умолчанию.

Нововведение заключает в том, что при навигации назад будет видно на какой экран вы переходите

Если еще не добавляли его поддержку, то смотрите здесь

@android_broadcast #android14
Share Android App Links with the Sharesheet (3 мин)

Разбор того как работать со стандартным Sharesheet для шарнига контента между приложениями в Android. Также показывается как можно подкинуть собственное превью контента

#androidos
Вышел Lottie Android 6.0.0: пачка новых фичей, улучшений и исправление багов

Я тут как раз ищу эксперта в Lottie, чтобы показать какие крутые вещи и как с ней сделать. Если у тебя есть опыт - пиши мне на почту kirill@androidbroadcast.dev

#animation
📺 Интервью с командой Kotlin Multiplatform Mobile (2 часа)
👉 Что произошло за 2022 год
👉 Чего ждать к KMM 1.0 Stable
👉 Compose iOS
👉 Kotlin IDE
👉 Экосистема Kotlin Multiplatform

#AndroidBroadcast #kotlin #kmm
Обновили API desugaring в Android
👉 Появилась поддержка java.nio API. Часть API работает только на Android 8.0 + и помечено специальным аннотациями
👉 Обновили java.time до API из Android 13
👉 Обновили java.util.stream до API до Android 13
Constraints and modifier order (8 мин)

Разбор как правильно организовывать цепочки Compose модификаторов и влияние их влияет на размер Composable функций

📺 Видео версия (12 мин)

#compose #madskillls
This media is not supported in your browser
VIEW IN TELEGRAM
В Chrome появится поддержка Partial Custom Tabs, которая частично перекрывает контент вашего приложения и позволяет взаимодействовать с вашим приложениям и Web контентом. Эта возможность уже доступна в Jetpack Browser 1.5.0

@android_broadcast #chrome #jetpack
У Android Academy начался курс по Jetpack Compose. Материал неплохой, но хочется больше полезного контента в видео. Полезные практики по Compose также выходят и в рамках MAD Skills

Интервью
📺 Что нового в Kotlin Multiplatform Mobile. Интервью с командой KMM (2 часа)

Разборы
📺 Что внутри APK. Как Google Play доставляет сборки пользователям (13 мин)
📺 Constraints and modifier order. MAD Skills (12 мин)
📺 Permission Handling Guide (34 мин)
📺 Java. Для чего нужен Optional? (18 мин)
📺 Introduction to drawing in Compose (10 мин)

Новости
📺 Новости мобильной разработки 2023.4 от Android Broadcast (34 мин)
📺 Google Dev News (3 мин)
📺 Now in Android №77 (7 мин)

Лекции
📺 Android Academy Jetpack Compose #1: Starter Pack (1.5 часа)

Делитесь в комментариях видео по разработке, которые вам понравились на этой неделе

#подборкавидео
В Jetpack уже практически отказались от Activity как точки переопределения системных callback методов. Появился OnBackPressedDispatcher, MenuProvider, ConfigChangeListener и др.

Об Activity Result API я сделал полезный разбор из 2 частей:
📺 применение в коде ваших приложений (22 мин)
📺 как оно работает под капотом на основе Activity.onActivityResult (12 мин)

#AndroidBroadcast #activity #jetpack
Improving user privacy by requiring opt-in to send X-Requested-With header from WebView

Заголовок X-Requested-With (XRW) содержит в себе название Android приложения из которого отправляется любой запрос в WebView. Теперь этот заголовок будет посылаться только если разработчик запросит это явно.

#security #webview
Полезный гайд как можно восстановить удаленные данные в проекте Android Studio. Local History - ультимативная фича, которая много раз меня выручала и позволяет не комитить изменения через Git.

#androidstudio
Плагин для Android Studio, который поможет с миграцией с Kotlin Synthetic на View Binding. Кто-то еще не мигрировал? Я удивлен 🙁

#androidstudio
Вот уже и статьи пошли как обрабатывать нажатие "Назад" в Android, новые callback, система приоритетов и другие нововведения системной навигации в ОС

#android13