TGINSIGHT CHAT
Android Broadcast
@android_broadcast
TechnologiesПодборка новостей и статей для Android разработчиков. Реклама и связь с автором @ab_manager РКН https://abdev.by/rkn_tg_ab#MQRZR
Posts récents
Tag : #jetpack · 98 posts
Publié 31 juil.
🚀Вышел Jetpack Browser 1.9.0 - библиотека для интеграции Custom Tab в приложения 👉 Появилась возможность добавить элементы контекстного меню в Custom Tabs — теперь вы можете собственные пункты меню внутри вкладки 👉 Появилось экспериментальное Auth Tab API. Цель - OAuth авторизация через Web браузер 👉 Улучшения TrustedWebActivityIntent Есть и другие менее заметные обновления #android#jetpack
Publié 31 juil.
🚀Jetpack Lifecycle позволит создавать дочерние Lifecycle в Compose В Jetpack 2.10.0-alpha01 появилась новая Composable функция LifecycleOwner для создания дочернего Lifecycle. Изменение нужно для Navigation3. @Composable fun MyComposable() { LifecycleOwner( maxLifecycle = RESUMED, parentLifecycleOwner = LocalLifecycleOwner.current, ) { val childLifecycleOwner = LocalLifecycleOwner.current } } #compose#jetpack#android#kmp
Publié 31 juil.
🚀Вышел Jetpack Benchmark 1.4 Stable Microbenchmark 👉 Сделали рефакторинг BenchmarkRule и перевели на работу через Kotlin Coroutines 👉 Gradke таски lockClocks и unlockClocks перенесли из root проекта в benchnmark проект Macrobenchmark 👉 Исправили работу на Android 14 и выше 👉 Добавили ArtMetric для выявления неоптимальной загрузки классов, чтобы лучше настроить BaselineProfile Что еще: 👉 Baseline Profile теперь может работать с приложениями с множеством процессов 👉TraceProcessor вынесли в отдельный артефакт #android#jetpack#производительность#тестирование
Publié 22 juil.
📹Разбор Jetpack Navigation 3 - настоящая навигация для Compose (21 мин) Месяц назад Google анонсировала навигацию специально разработанную под Compose и которая должна решить все боли. В видео показываю её возможности, делюсь своим мнение и рассказываю про недочеты, которые надеюсь что решат до стабильного релиза #AndroidBroadcast#navigation#jetpack#compose
Publié 3 juil.
🚀 Вышел стабильный JavaScript движок от Google для Android Новая стабильная библиотека Jetpack JavaScript Engine позволит разработчикам выполнять JS код в изолированной и ограниченной среде. class MainActivity : ComponentActivity() { // Теперь nullable, без lateinit private var jsSandbox: JavaScriptSandbox? = null private var jsIsolate: JavaScriptIsolate? = null override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) if (!JavaScriptSandbox.isSupported()) { Log.e("JS", "JavaScriptSandbox не поддерживается") return } lifecycleScope.launch { // Создаём и сохраняем в nullable-поле jsSandbox = JavaScriptSandbox .createConnectedInstanceAsync(applicationContext) .await() jsIsolate = jsSandbox?.createIsolate() // При выполнении гарантируем, что jsIsolate != null val result: String = jsIsolate ?.evaluateJavaScriptAsync(JS_SCRIPT_SCRING) ?.await() ?: "Ошибка: isolate не инициализирован" Log.d("JS", "Результат выполнения: $result") } } override fun onDestroy() { super.onDestroy() // Закрываем только если не null jsIsolate?.close() jsSandbox?.close() } } #jetpack#js
Publié 19 juin
🚀Вышло обновление Android Jetpack библиотек В этот раз вас жду багфиксы: Room 2.7.2 и WorkManager 2.10.2, а также первая RC версия Benchmark Version 1.4.0 #android#androiddev#jetpack#jetpackupdate
Publié 17 juin
📹Jetpack Navigation 3 Core Concepts (EN,11м) Рассказ про основные принципы новой навигации от Google для Compose - Jetpack Navigation 3 0:00 Вступление 1:05 Что есть Навигация 2:08 Архитектура 4:40 Требования 5:26 Почему это так сложно 7:01 Задачи Navigation 3 9:02 Владение Backstack-ом 10:04 Будущее #android#jetpack#compose#навигация
Publié 6 juin
🎉🚀Новая Jetpack Библиотека - Photo Picker Новая библиотека Jetpack Photo Picker позволит перенести встраиваемый Photo Picker из Android 16 на более ранние версии Android. Благодаря Mainline системе встраиваемый Photo Picker будет доступен на Android 14 и выше как часть ОС, а вот на других версиях будет помогать библиотека Jetpack Photo Picker, работающая скорее всего на основе Google Play Services. Важно - сразу сделали версию для View и Compose #android#jetpack#android16#compose
Publié 27 mai
В Jetpack делают KMP API для обработки системных жестов нажатия назад или Predictive Back Новая библиотека Jetpack NavigationEvent содержит в себе API для обработки нажатия назад или для отслеживания прогресса жеста назад. API cхоже с Dispatcher которое было сделано для Back ранее. Поддерживаются KMP таргеты: Android, Desktop/JVM, iOS, JS, Linux, WASM, watchOS, tvOS, Ming ComponentActivity реализует интерфейс NavigationEventDispatcherOwner: interface NavigationEventDispatcherOwner { val navigationEventDispatcher: NavigationEventDispatcher } NavigationEventDispatcher представляет собой класс, для передачи системны событий Назад: class NavigationEventDispatcher( private val fallbackOnBackPressed: (() -> Unit)?, private val onHasEnabledCallbacksChanged: ((Boolean) -> Unit)?, ) // Добавления callback чтобы слушать когда произйдет нажатие "Назад" fun addCallback( callback: NavigationEventCallback, priority: NavigationEventPriority = NavigationEventPriority.Default ) fun dispatchOnStarted(event: NavigationEvent) fun dispatchOnProgressed(event: NavigationEvent) fun dispatchOnCompleted() fun dispatchOnCancelled() } В Android Activity можно подписаться на обработку события class MyActivity : ComponentActivity() { init { navigationEventDispatcher.addCallback( callback = object : NavigationEventCallback( isEnabled = true, priority = NavigationEventPriority.Default ) { override fun onEventCompleted() { // Back сделан } }, priority = NavigationEventPriority.Default ) } } #android#jetpack#навигация#kmp#kotlin
Publié 22 mai
📹Адаптивная Android разработка сделает ваше приложение классным на любом устройстве - Google IO 2025 Очень полезный доклад про разработку адаптивного приложения по дизайну, фичам и поведению. Учитывая, стойкий тренд перехода Android разработки в KMP это как никогда актуально! #android#adaptive#material3#jetpack#googleio
Publié 20 mai
🚀Вышел Jetpack Window Manager 1.4 - библиотека для работы с разными форматами устройства и несколькими окнами с поддержкой KMP Что нового в свежей версии: 👉 Улучшения Activity Embedding 👉 Улучшения API WindowMetrics 👉 Улучшили API для тестирования #jetpack#kmp
Publié 20 mai
Пример использования Jetpack Compose Nav3 // Определите route в вашем приложении @Serializable data object Home @Serializable data class Product(val id: String) // Создайте back stack, указав начальный route val backStack = remember { mutableStateListOf<Any>(ProductList) } // NavDisplay отображает ваш back stack // Каждый раз, когда back stack меняется, отображение обновляется. NavDisplay( backStack = backStack, // Простой List<Any> // Укажите, что должно происходить при нажатии кнопки "назад" onBack = { backStack.removeLastOrNull() }, // Провайдер записей преобразует маршрут в NavEntry, // который содержит контент для этого маршрута. entryProvider = { route -> when (route) { is Home -> NavEntry(route) { Column { Text("Добро пожаловать в Nav3") Button(onClick = { // Чтобы перейти к другому экрану, // просто добавьте его в back stack backStack.add(Product("123")) }) { Text("Нажмите для навигации") } } } is Product -> NavEntry(route) { Text("Продукт ${route.id}") } else -> NavEntry(Unit) { Text("Неизвестный route: $route") } } } ) #jetpack#compose#навигация
Hashtags