TGTGInsighttelegram intelligenceLIVE / telegram public index
← GZ学习频道

TGINSIGHT SIMILAR POSTS

Find similar content

Source channel @olddriverGDstudy · Post #14 · Mar 17

由于前段时间群里发生了买资源之间的掐架事件,记录一些话。 无忌说: 无论有些伙计是卖资源还是什么, 车队也管不着 反正车队的资源是免费获取的 不过,就算是卖资源 不要护逼, 不要为了那所谓的标签故意推不靠谱的资源, 还不允许别人反映, 就算卖资源,也要卖靠谱的资源, 不靠谱的资源给别人卖了别人会寒心, 赚那几十块钱倒了牌子有意思吗? 做人做事都要凭良心, 不要纠缠什么利益, 单纯的做一个修车人, 不快乐吗? 彩虹(少妇小专家)说: 修车就是修车 你以为你是柳永? 你以为你是李白? 公益大队 我们要的是什么 我们要的是性爱的欢愉? 我们要的灵魂的交流? 我们要的是水乳交融的感受? 我们要的是洒脱感? 都错了 我们要的是整片森林 我们要的是广阔天地 我们要的是雄鹰展翅在这片土地上空 我们用几辆碎银要的是什么 女人 御姐 嫩妹 淑女 熟女 环肥燕瘦 各有各的滋味 各有各的感觉 各有各的微笑 各有各的呻吟 各有各的美好 各有各的回忆 要的是什么 问问你自己 爱情 肉体 灵魂 是统一的吗 是矛盾的吗 是对立而统一的吗 是螺旋前进的吗 曾经志在四方的我们 甘心被推广 被卖资源 被鸡头 被黑车 左右自己的情感吗 影响自己的勇气吗 不 大队 要的是杀伐的乐趣 要的是勇做先锋的勇气 要的是山无棱才敢与君绝的决心 要的是踏破铁鞋无觅处,得来全不费功夫的洒脱 要的是待从头,收拾旧山河的豪迈 要的是怒发冲冠,凭栏处,潇潇雨歇的悲壮 要的是手接飞猱搏雕虎,侧足焦原未言苦的勇气 悲痛啊 可悲啊 大队狂客落魄尚如此啊 愿我们风云感会起屠钓吧 要继承先人的意志啊 要有原则啊 幼女 未成年 龙女 都不能去搞 加油吧,各位 (彩虹(少妇小专家)是无锡车队的管理,无忌的朋友,纯粹的出击者) 作者:无忌 标签:#原创,#杂谈

Results

16 similar posts found

Search: #androidjetpack

当前筛选 #androidjetpack清除筛选
Android Broadcast

@android_broadcast · Post #9495 · 09/11/2025, 06:14 AM

🚀 Вышел Room 2.8.0 Самая важная (она и единственная) фича свежего релиза - получение SupportSQLiteDatabase, являющегося оберткой над RoomDatabase с SQLiteDriver. Честно, не знаю кому это пригодится, поэтому будет полезно узнать от вас в комментариях практический опыт. Менее масштабные, но всё же важные изменения: 👉 minSdk подняли с 21 до 23 👉 Добавили поддержку KMP таргетов: watchOS и tvOS 🛠 Исправили баги #android#jetpack#androidjetpack

Android Broadcast

@android_broadcast · Post #9971 · 04/23/2026, 03:14 PM

⚙️Jetpack Compose 1.11 — стабильный релиз! 🚀 Что нового: 👉 Визуальная отладка переходов Shared Elements 👉 Переработанная поддержка трекпадов — теперь работают как мышь и распознают жесты 👉 Preview Wrappers для более быстрой работы с превью 👉 Host Defaults для KMP-проектов 👉 Testing APIs v2 для корутин 👉 Экспериментальные API: Styles, MediaQuery, Grid, FlexBox Подробности по каждому пункту — отдельными постами в @compose_broadcast #Compose#Android#AndroidJetpack

Android Broadcast

@android_broadcast · Post #9526 · 09/25/2025, 08:07 AM

🚀Вышла новая Jetpack библиотека - Security State Provider (пока в статусе Альфа) Основная цель библиотеки — предоставить действительные (actionable) данные о состоянии безопасности устройства и его компонентов, в частности: 👉 Версии обновляемых компонентов (updateable system components). 👉 Наличие применённых исправлений безопасности (security patches / applied fixes). 👉 Общий “security state” — то есть агрегированное представление безопасности системы. То есть, библиотека даёт вам API, чтобы “спросить у Android”: насколько актуальна система, есть ли уязвимости, какие компоненты нуждаются в обновлении. Она не заменяет шифрование/криптографию (как, скажем, security-crypto), но с дополняет стек безопасности: помогает принимать решения на основании состояния платформы. #android#androidjetpack#безопасность

Android Broadcast

@android_broadcast · Post #9525 · 09/25/2025, 07:40 AM

🤖Вышел Jetpack Window 1.5.0 Что нового: 👉WindowSizeClass появились разделения для больших (Large - от 1200 до 1600) и очень больших (XLarge - более 1600 dp) экранов 👉 Получение WindowMetrics теперь работает с Application Context, а не только с UI Context 👉 Добавили API для автоматического сохранения и восстановления статуса встраивания Activity при перезапуске процесса 👉 Удалили экспериментальное API WindowInsets #android#androidjetpack#jetpackupdate

Android Broadcast

@android_broadcast · Post #9655 · 11/06/2025, 09:45 AM

🚀Вышел Core SplashScreen 1.2.0 Что нового: 🌙 Добавлен атрибут isLightTheme для тем SplashScreen — можно корректно выбирать оформление под светлую/тёмную тему 🖼 Иконка загрузки теперь корректно подтягивается через AppCompatResources (улучшена поддержка ресурсов и векторных изображений) 👉 Убрали ручное объявление обращения к новым API — теперь всё автоматически моделируется при сборке с AGP ≥ 7.3 и R8 ≥ 3.3 🐘 Для AGP 8.1 и выше — всё работает “из коробки” без дополнительных настроек ⚙️ (рекомендуется обновление до этой версии AGP или выше) #android#jetpack#androidjetpack#jetpackupdate

Android Broadcast

@android_broadcast · Post #9574 · 10/20/2025, 10:06 AM

🤖Как проверить, какие комбинации фичей поддерживает камера смартфона Современные смартфоны умеют снимать с HDR, 120 FPS и стабилизацией, но вот какая комбинация этих фич реально доступна — загадка. Например, стабилизация часто работает только при 1080p, а 60 FPS не всегда доступны в 4K. С выходом Jetpack CameraX 1.5 появилось API GroupableFeature и новые параметры для SessionConfig, которые позволяют из кода проверить, какие функции камера может использовать одновременно. // Пример проверки неподдерживаемых комбинаций val unsupportedFeatures = mutableSetOf<GroupableFeature>() val appFeatureOptions = setOf(HDR_HLG10, FPS_60, PREVIEW_STABILIZATION) appFeatureOptions .filterNot { it in currentFeatures } .filter { featureOption -> cameraInfo.isFeatureGroupSupported( SessionConfig( useCases = useCases, requiredFeatureGroup = currentFeatures + featureOption ) ) } .forEach { unsupportedFeatures.add(it) } Так можно заранее отсеять неподдерживаемые сочетания — например, когда HDR и стабилизация не работают вместе при 60 FPS 🎥 Подробнее в статье (EN) #android#camerax#Jetpack#androidjetpack

Android Broadcast

@android_broadcast · Post #9993 · 05/19/2026, 06:17 AM

🚀Jetpack Telecom 1.1.0 добавил то, чего не хватало VoIP-приложениям с самого начала — историю звонков прямо в системном дайлере. До этого момента пропущенный звонок в Telegram или любом другом VoIP-приложении требовал переключиться в само приложение, найти вкладку с историей и перезвонить оттуда. Теперь это можно делать прямо из нативного дайлера Android. Работает через два новых механизма. Первый — интеграция лога звонков. Приложение регистрирует звонки через TelecomManager.addCall, и они автоматически попадают в системную историю. Для обратного звонка нужно зарегистрировать intent-фильтр на TelecomManager.ACTION_CALL_BACK и правильно обработать EXTRA_UUID, который система отдаёт вместе с вызовом. UUID генерирует CallControlScope.getCallId в момент регистрации звонка — его и нужно хранить, чтобы потом разрезолвить детали вызова. Второй механизм — исключение из лога. Не каждый звонок стоит светить в системной истории, и теперь это явно контролируется через флаг isLogExcluded = true в CallAttributesCompat. Например, эфемерные или приватные звонки можно просто не записывать. ‼️ ВАЖНО: фичи доступны только на Android 16.1 (SDK 36.1) и выше. Кроме того, нативные дайлеры используют package allowlist для контроля того, какие VoIP-приложения отображаются в истории. Роллаут идёт поэтапно, первым подключился Google Meet. Для локального тестирования Google рекомендует Telecom Sample Dialer из platform-samples. Меня радует сам вектор: Google последовательно закрывает разрыв между VoIP и нативной телефонией. Жаль, что allowlist пока ограничивает возможности сторонних приложений. Печально то, что это делают так поздно, когда звонки не по телефону делают уже 5–10 лет. 🔗 Источник: android-developers.googleblog.com #Android#Telecom#AndroidJetpack

Android Broadcast

@android_broadcast · Post #9809 · 01/19/2026, 11:53 AM

🚀Google взялась за упрощение Picture‑in‑Picture PiP на Android долго был зоопарком: разный API на версиях, разный UI‑стейт, много if (SDK_INT…) и бойлерплейта. Новая Jetpack‑библиотека androidx.core:core-pip как раз и создана, чтобы это спрятать: она выравнивает вызовы PiP между версиями Android, даёт единый способ задавать параметры (особенно для видео/плееров), объединяет разрозненные колбэки состояния PiP и уменьшает количество кода за счёт готовых пресетов действий для типовых сценариев. Требования: обновляем Activity Чтобы всё это заработало, мало просто подключить core-pip — нужно обновиться до свежей Activity 1.13.0 (пока в альфе). В этой версии есть новые API для отслеживания состояния PiP (PictureInPictureUiStateCompat и слушатели), на которых удобно строить логику поведения UI, когда окно уходит в PiP или, например, «прячется» в угол. // Пример кода: реагируем на состояние PiP class PlayerActivity : ComponentActivity() { private val pipUiStateListener = Consumer<PictureInPictureUiStateCompat> { state -> if (state.isStashed) { /* спрятать контролы плеера */ } else { /* показать контролы плеера */ } } override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) // ... инициализация UI / плеера ... addOnPictureInPictureUiStateChangedListener(pipUiStateListener) } override fun onDestroy() { removeOnPictureInPictureUiStateChangedListener(pipUiStateListener) super.onDestroy() } } 🔗 Подробности про библиотека в документации #Android#AndroidDev#AndroidJetpack#PIP

Android Broadcast

@android_broadcast · Post #9654 · 11/06/2025, 09:40 AM

🚀 Вышел SavedState 1.4.0 — теперь с поддержкой nullable типов Saved State — это библиотека Jetpack, которая помогает сохранять и восстанавливать состояние при пересоздании, например из-за изменений конфигурации в Android или при выгрузке процесса системой. Поддерживает Kotlin Multiplatform Вышел androidx.savedstate:1.4.0, и в этом обновлении основное внимание уделено улучшению API. Ключевое изменение - добавлена нативная поддержка nullable типов в SavedStateRegistryOwner.saved, а также в функциях encodeToSavedState() и decodeFromSavedState() — теперь можно напрямую сохранять и восстанавливать null-значения без костылей. // Теперь это работает корректно без дополнительных проверок. var name: String? by savedState(saved = "name", default = null) #android#jetpack#kotlin#kmp#jetpackupdate#androidjetpack

Android Broadcast

@android_broadcast · Post #9572 · 10/18/2025, 11:35 AM

Вот реальная история, как знание механики работы ViewModel спасло мне вечер 👇 У меня приложение на Compose и Jetpack Navigation 3 (работает на основе состояния Back Stack). Экран «Навигатор файлов» открывает папки рекурсивно: по сути это тот же экран, но с другими данными. Все данные — из одной и той же ViewModel.❗️Баг: при переходе в папку навигация срабатывает, UI не меняется. Современные ИИ подсказали общие вещи, но не помогли — промты, видимо, подвели (тут мне ещё надо прокачать знания) 🙂 Вспомнил ключевой факт про архитектуру: 👉 Все ViewModel живут в ViewModelStore. 👉 В пределах одного ViewModelStoreOwner (Activity/Fragment/NavBackStackEntry) получение ViewModel по умолчанию идёт по типу. 👉 Если нужно несколько экземпляров одного типа на одном owner’е — используем key. Решение в одну строку — привязать ключ к ViewModel, связанный с текущей папкой: @Composable fun FileNavigator( folderId: Id, modifier: Modifier = Modifier, ) { // новый folderId → новый экземпляр ViewModel → новый UI-стейт val viewModel: FileNavigatorViewModel = viewModel( key = "files(rootId='$folderId')" ) // ... } Мини-чеклист, если ловите такой баг 👉 Один экран используется повторно с разными параметрами? → Нужен key. 👉 Меняется route, но owner тот же? → key обязателен. 👉 Используете Hilt/Koin? → У этих функций тоже есть параметр key (hiltViewModel(key=...), koinViewModel(key=...)). 👉 key должен детерминированно зависеть от входных данных (например, folderId). 👉 При навигации назад убедитесь, что ViewModel освобождается ожидаемо. Ещё нюанс - если у вас сложная иерархия графов, проверьте, к какому ViewModelStoreOwner вы реально привязаны. Рекомендую посмотреть мои видео по теме: 📹Разбор Jetpack Navigation 3 🪙Полный разбор Jetpack ViewModel в Android и Kotlin Multiplatform #android#compose#androidjetpack#viewmodel#архитектура

Android Broadcast

@android_broadcast · Post #9588 · 10/23/2025, 10:19 AM

🚀Вышел Jetpack WorkManager 2.11.0 Что важного в новой версии: ❗️ minSdk: 23 (Marshmallow). Lollipop (API 21–22) больше не поддерживается. 🎉 Новое API: setRemoteSessionTimeoutMillis() в Configuration.Builder — задаёт время жизни сессии RemoteWorkManager после последнего использования. class App : Application(), Configuration.Provider { override fun getWorkManagerConfiguration(): Configuration { return Configuration.Builder() // Сколько живёт RemoteWorkManager-сессия после последнего использования .setRemoteSessionTimeoutMillis(TimeUnit.MINUTES.toMillis(5)) .build() } } 🎉 Тестирование: TestDriver.stopRunningWorkWithReason(...) — можно останавливать выполняющуюся работу с указанием причины. Зачем: удобно эмулировать внешние условия (остановку системой/приложением) и проверять, что код корректно реагирует на «принудительное завершение». // Arrange val request = OneTimeWorkRequestBuilder<MyWorker>().build() WorkManager.getInstance(context).enqueue(request).result.get() // Act val testDriver = WorkManagerTestInitHelper.getTestDriver(context)!! testDriver.stopRunningWorkWithReason( request.id, /* reason */ 0 // укажите код причины, например ваш тестовый/константу из проекта ) // Assert — далее проверяете ожидаемое состояние 🛠 Также сделали исправление багов #android#jetpack#workmanager#jetpackupdate#androidjetpack

Android Broadcast

@android_broadcast · Post #9708 · 12/01/2025, 06:36 AM

‼️Google отменяет Compose Material Icons С релизом Compose Material 3 — версии 1.4.0 Google сделала радикальный шаг: библиотека androidx.compose.material.icons исключена из Material3 и больше не рекомендуется к использованию. Что произошло 👉 Material Icons удалены из актуального релиза Material3 1.4.0 👉 Поддержка библиотеки прекращена 👉 Можно подключить вручную, но это временная мера для тех, кто не успел мигрировать ❌ Основная причина отказа - негативное влияние на скорость сборки. Библиотека Material Icons тащит весь огромный набор иконок. Это ощутимо увеличивает build time крупных Android и Compose Multiplatform проектов. Google предлагает переходить на Vector Drawable XML в Android или Compose Multiplatform ресурсах. Скачивайте иконки с вкладки Android на странице Material Symbols и храните в ресурсах проекта Преимущества использования Material Symbole: ✔️ актуальный набор иконок ✔️ минимальный вес и отсутствие лишних зависимостей ✔️ предсказуемое время сборки ✔️ лучший контроль над ресурсами проекта ❗️ Обновлений библиотеки Material Icons не будет! Источник - официальная документация Android Jepack Благодарю подписчика Evgeny F. за то, что обратил внимание на изменение. #Android#AndroidJetpack#Material3#Compose#CMP

12
PreviousPage 1 of 2Next