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
Чтобы попробовать Kotlin 2.0 надо будет переезжать на библиотеки с его поддержкой:
👉 Google KSP
👉 KotlinX Coroutines с поддержкой 2.0 я не нашел, но может и не нужна спец версия
👉 KotlinX Serialiazation 1.7.0-RC с поддержкой Kotlin 2.0
👉 Отдельный Gradle плагин для Compose (Jetpack и Multiplatform) с поддержкой Kotlin 2.0
👉 KAPT поддерживает Kotlin 2.0 в экспериментальном режиме
👉 Начиная с IntelliJ IDEA 2023.3 and Android Studio Iguana (2023.2.1), есть поддержка Kotlin 2.0
👉 SQLDelight работает
👉 SKIE от Touchlab тоже имеет поддержку Kotlin 2.0

Полное руководство по миграции на компилятор K2 и последствия перехода описала JetBrains в документации

Полный список всех плагинов компилятора и поддержку ими K2 смотрите тут

#kotlin2 #k2
Forwarded from Kotlin Broadcast
Улучшения Gradle в Kotlin 2.0:
👉 Новое Gradle DSL для конфигурации опций компиляции для всех тасков мультиплатформенных проектов
👉 Compose Runtime теперь часть Kotlin репозитория и теперь всегда будет с актуальными версиями. Из-за этого появился отдельный Gradle Compose плагин для Jetpack и Multiplatform Compose
👉 Теперь в аттрибутах при публикации будет указываться для какой JVМ варианта сделана бибилотека: Android, Standrat JVM или NO JVM
👉 Улучшена работа с зависимостями в Kotlin/Native
👉 Разграничение какие API можно вызывать в разных уровнях DSL
👉 Kotlin/Native компилятор будет загружать только когда он нужен для сборки, а не только если Kotlin/Native используется в проекте
👉 Минимальная поддерживаемая версия Android Gradle Plugin поднята до 7.1.3
👉 Gradle опция kotlin.experimental.tryNext для использования следующей dev версией Kotlin за текущей
👉 Вывод отчета сборки в JSON формате
👉 kapt наследует конфигурацию из родителського Gradle проекта

#gradle #kotlin2
В Android Studio Koala FD появился экспериментальный инструмент Compose Preview Screenshot Testing - автоматизация тестов сравнения Compose UI и скриншотов из дизайна

#compose #androidstudio #автотесты
Обновление Android Jetpack от 14 мая 2024:
👉 Lifecycle 2.8.0 Stable с поддержкой KMP
👉 Paging 3.30 Stable c поддержкой KMP
👉 ViewPager2 1.1.0 Stable с исправлениями багов и лучшей работой с Fragment
👉 Compose ViewFinder Compose 1.0 Alpha 01 - нативная Composable функция для интеграции превью камеры на CameraX или Camera2 API
👉 Annotation 1.8.0 Stable - аннотация @ReplaceWith для описания замены в @Deprecated

Готовятся к релизам
👉 RC: AppCompat 1.7 || Core-RemoteViews 1.1.0 || Window Manager 1.3.0
👉 Beta: Camera 1.4.0 || Compose 1.7.0 || Fragment 1.8.0 || Navigation 2.8.0 || Wear Compose 1.4.0 || Compose Material 3 1.3.0 || Compose Material3 Adaptive 1.0.0 || Concurrent 1.2.0

#jetpack #jetpackupdate #kmp
Обновления библиотек Jetpack Lifecycle 2.8.0

Lifecycle
👉 LocalLifecycleOwner из Compose переехал в lifecycle-runtime-compose
👉 Новые Composable API dropUnlessResumed и dropUnlessStarted что позволяет лямбду вызывать только когда LifecycleOwner достигнет состояния Resumed/Started соотвественно и не будет вызывать когда выйдет из него. Например, полезно для навигации
👉 LifecycleStartEffect и LifecycleResumeEffect бросают ошибку если не задать key. По аналоги с DisposableEffect
👉 API Lifecycle, LifecycleOwner, LifecycleObserver, Lifecycle.State, Lifecycle.Event и LifecycleRegistry теперь являются частью мультиплатформенных модулей

ViewModel
👉 ViewModel теперь позволяет передать произвольный CoroutineScope при создании. Полезно для тестов и не только
👉 ViewModel переписали на Kotlin и перешли с Closable на AutoClosable из Kotlin
👉 API ViewModel, ViewModelStore, ViewModelStoreOwner и ViewModelProvider теперь являются частью мультиплатформенных модулей
👉 ViewModelProvider.NewInstanceFactory и ViewModelProvider.AndroidViewModelFactory доступны только на Android
👉 Для всех таргетов не Android должна быть обязательна указана фабрика для ViewModel

LiveData
👉 Переписали NullSafeMutableLiveData

#lifecycle #viewmodel #compose #kmp
WindowManager 1.3.0 получил поддержку Kotlin Multiplatform

#jetpack #kmp
Forwarded from Compose Broadcast
Разработчикам под Android TV рекомендуют переходить с Leanback на Compose. Руководство по миграции

#androidtv #compose
Android Auto позволит устанавливать больше типов приложений когда-то в недалеком будущем. Источник тут

#androiauto #auto
Media is too big
VIEW IN TELEGRAM
Google запустила Gameface на Android - управление лицом смартфонов

#accessibility
Media is too big
VIEW IN TELEGRAM
Google сделала версию ChromeOS, которая может запускаться на Android смартфонах. Запускается все в виртуальной машине. Возможно, Google решила сделать режим десктопа через ChromeOS

#chromeos
Привет! На связи автор и создатель @android_broadcast Кирилл Розов

Я покинул Тинькофф 🤯 и буду фокусироваться на создание контента для Android 🤖 (а уже и Kotlin Multiplatform 👩‍💻) разработчиков 🔥

Начинается новый большой этап для проекта. Будет много полезного контента в Telegram и YouTube, а также эксклюзивные разборы, статьи, разработки проектов и много всего полезного на Boosty и в Telegram.

Чтобы ничего не пропустить и поддержать создание контента вы можете оформить подписку на Boosty (лучше тут) или Telegram. Независимо от способа оформления вы получите одни и те же возможности, а голосовать за контент и получать мои консультации можно через подписки уровнем выше и только на Boosty

#AndroidBroadcast
Please open Telegram to view this post
VIEW IN TELEGRAM
Нашел /e/OS - полностью деГуглизированую мобильную экосистему на основе AOSP

👉 Все от Google заменил на мета поиск от авторов
👉 Google Play Services замени на microG
👉 Никакие протоколы и сервисы Google не используются под капотом API
👉 Можно купить устройство с этой ОС или поставить на совместимые смартфоны

Полное описание ОС можно найти тут

#aosp
Начал писать свою собственную библиотеку навигации, которая построена на идеи "Навигация" как состояние". Исходный код проекта на GItHub и доступ получили все платные подписчики уровня Middle на Boosty и выше, а также платные подписчики в Telegram (оформить подписку тут).

ВАЖНО ‼️ Проект находится в активной разработке и будет меняться. Сейчас это самый первый скелет

ℹ️ Новостной проект завершу на следующей неделе стримами в понедельник и среду!

#кодинг #AndroidBroadcast
Please open Telegram to view this post
VIEW IN TELEGRAM
Интересный разбор (EN, 11м) разных стратегий кэширования (6 штук) и как их можно описать универсальной функцией в Kotlin
Обзор недавно представленного Compose Preview Screenshot Testing https://t.me/android_broadcast/7578

#тестирование #androidstudio
🔴 Стартует Разработка новостного приложения. Часть 6. Что я сделал не так

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

❗️ Запись эфира останется на канале

#AndroidBroadcast #live #кодинг