TGTGInsighttelegram intelligenceLIVE / telegram public index
Retour aux chaînes
Android Broadcast avatar

TGINSIGHT CHAT

Android Broadcast

@android_broadcast

Technologies

Подборка новостей и статей для Android разработчиков. Реклама и связь с автором @ab_manager РКН https://abdev.by/rkn_tg_ab#MQRZR

Abonnés1.4万Abonnés actuels de la chaîne
Posts indexés1,000Nombre de posts indexés
Portée récente82,350Somme des vues récentes
Posts récents

Posts récents

Tag : #android · 490 posts

当前筛选 #android清除筛选

Если хотите адаптировать приложение под Android XR, то Google уже подготовила материалы (хотя SDK пока в Dev Preview 🤯): 🔗Документация и примеры на сайте 🐱Примеры на GitHub Codelab: 🤖Learn Android XR Fundamentals: Part 1 - Modes and Spatial Panels 🤖Learn Android XR Fundamentals: Part 2 - Orbiters and Spatial Environments #android#androidxr

5,590 views

Samsung представила Galaxy XR - шлем дополненной реальности. Аналог Apple Vision Pro но стоить будет 1800$ в США (в 2 раза дешевле устройства Apple) Работает шлем на чипе Qualcomm а ОС - Android XR с Google сервисами. Можно запускать приложения как с адаптацией под XR, так и без неё. Мнение автора: Дорогая игрушка, которая будет нишевым устройством и скатится туда же куда и Vision. XR хочется видеть на очках, а нне шлемах. #android#samsung#androidxr

5,400 views

🤖 Как автоматически проверить приложение перед публикацией в Google Play? Когда вы загружаете сборку в Альфа или Бета канал Google Play, сервис автоматически запускает 🛒Pre-launch Tests — набор проверок, которые выполняются на реальных устройствах в облаке Google. Цель этих тестов — убедиться, что приложение запускается, не падает и корректно отображается на разных экранах ещё до того, как его увидят тестировщики или пользователи. По сути, тест проходит “прокликивая” интерфейс, имитируя действия пользователя, переходя по кнопкам и ссылкам, чтобы найти проблемы вроде ANR, крашей или неправильного поведения UI. Как результат вы можете увидеть как проходило прокликивания, преддложения по улучшениям UI и лучше проверить качество приложения перед отправкой его конечным пользователям. ⚙️ Robo script - cценарии и повторяемость тестов По умолчанию поведение бота недетерминированное — каждый запуск может идти по разным путям. Чтобы добиться повторяемости, можно записать свой сценарий взаимодействия и загрузить его в консоль. Такой сценарий называется Robo Script. Записать его можно прямо через Android Studio (если недоступно, то возможно отключили плагин), выполняя нужные действия в приложении. Загруженный сценарий позволит прогонять одинаковые шаги при каждом тесте, что особенно полезно для авторизации, форм и сложных экранов. 🔐Авторизация и тестовые данные Если первый экран вашего приложения — логин, можно предоставить тестовый аккаунт (username/password), чтобы бот смог пройти авторизацию. Это важно, если вы хотите, чтобы тест охватил внутренние экраны и логику приложения. Данные указываются в разделе Pre-launch report settings → Login credentials в Google Play Console. 🔗Проверка deep links (ограничено 3 штуками) Pre-launch Tests позволяют также протестировать работу deep links. Вы можете указать deeplink-URL, и Google Play автоматически запустит приложение с этим интентом, проверяя, открывается ли нужный экран и не происходит ли падений. Добавляются через настройки в Google Play Console. 🔥 Robo script не получится прогнать локально (либо я не знаб о такой возможности) Те же Robo-тесты можно запускать и в Firebase Test Lab. Это позволит проверить приложение на большем количестве устройств и версий Android, а также встроить прогон в CI/CD — например, через GitHub Actions или Firebase CLI. ⚙️ Будет ли работать с Compose? UI на Compose и Flutter корректно тестируются, так как бот взаимодействует через Accessibility API, а не напрямую с фреймворком. Проблемы возникают только при кастомной отрисовке или выключенном accessibility. #android#googleplay#тестирование

7,710 views

🤖Как проверить, какие комбинации фичей поддерживает камера смартфона Современные смартфоны умеют снимать с 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

6,300 views

🤯А что вообще считать маленьким проектом в 2025 году? В закрытом чате обсуждали, какого ноутбука хватит под «маленький KMP-проект» — но вот с тем, что считать маленьким, договориться не смогли. Приложение с тремя экранами, но двенадцатью Gradle-модулями — это ещё маленькое? KMP, но «только чуть-чуть под iOS» — считается? Или когда просто хотел попробовать Compose, а закончил с DI, Router и UseCase на одну строчку логики? В чём вообще измерять размер проекта — в строках кода, количестве модулей, экранах, фичах или времени сборки? У меня есть мнение, но интересно, где проходит грань у вас 😏 Комментарии открыты — давайте поругаемся конструктивно. #архитектура#android#kmp

6,730 views

Вот реальная история, как знание механики работы 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#архитектура

7,520 views

🤖Есть ли чувство юмора у разработчиков Android SDK? Однозначно — да! В исходниках можно найти такие шедевры 👇 // Проверяет используется ли сейчас Monkey Runner ActivityManager.isUserAMonkey() UserManager.isUserAGoat() UserManager.DISALLOW_FUN // Отдали дань памяти хиту Chronometer.isTheFinalCountdown() Log.wtf() // Попало в релиз, хотя явно должно было быть исправлено AdapterViewFlipper.fyiWillBeAdvancedByHostKThx() // Звёздные войны SensorManager.GRAVITY_DEATH_STAR_I Разработчики в Google точно любит пошутить 😄 А вы где встречали весёлые названия API или переменных — в Android, KMP или своих проектах? #android

6,360 views

Hashtags

📹Собеседование на Kotlin Multiplatform разработчика 🎙 Проводит — Алексей Панов @kotlin_adept 🗓 Понедельник, 20 октября, 19:00 (GMT+3) Kotlin Multiplatform (KMP) набирает всё большую популярность — растёт количество вакансий и интерес со стороны компаний. Я давно хотел провести реальное собеседование, где Android-разработчика с опытом в KMP будут спрашивать на позицию, где придётся писать на KMP каждый день: иногда с использованием Compose, а иногда — только шаря логику между платформами. Будет жарко 🔥 Алексей — один из самых опытных разработчиков, кто давно пишет KMP в проде и отлично понимает экосистему. Кстати, у него классный Telegram-канал @kotlin_adept — там много полезных инсайтов про KMP. ❗️Запись собеседования появится на канале после эфира. #AndroidBroadcast#kmp#compose#собеседование#android

7,000 views

📹Android Developers Backstage — Journeys в Android Studio Команда Android обсуждает Journeys для Android Studio — новый инструмент на базе Gemini, который упрощает создание и поддержку end-to-end тестов. Journeys позволяет описывать тесты на естественном языке, а ИИ сам преобразует шаги и проверки в реальные действия в вашем приложении. ⏱️ Главные моменты выпуска: 0:00 Введение 1:46 Journeys: новый подход к тестированию на базе ИИ 3:40 Как Journeys работает с Gemini 4:27 Преимущества естественного языка 5:49 Пример из реального проекта: Google Maps 6:53 Отладка с использованием ИИ 8:08 Почему Journeys важен: мост между ручным и автотестированием 9:56 End-to-End тесты с Journeys 12:18 Производительность и кеширование тестов 24:14 Интеграция с Android Studio и Firebase 25:27 Рабочий процесс разработки 31:22 ИИ для всех: не только end-to-end тесты 33:28 Что дальше: обратная связь и планы на будущее #android#androidstudio#gemini#ai#тестирование

7,000 views

🔨 Написание UI тестов на обычном языке без кода уже доступно в Android Studio Otter. Фича называется - Journeys. Работает на основе ⭐️ Gemini AI #androidstudio#android#ai#gemini#тестирование

7,240 views

🔒Почему шифрование данных на Android — это не просто “галочка” в настройках, а реальная защита вашей информации (RU,13м) Телефон сегодня — это не просто устройство, а личный сейф с фотографиями, паролями, документами и банковскими данными. И если кто-то получит к нему доступ, последствия могут быть непредсказуемыми. В статье на Хабре я подробно рассказываю: 👉 как работает шифрование данных на Android; 👉 чем отличаются симметричные и асимметричные алгоритмы; 👉 какие инструменты реально применяются в приложениях — Cipher, SQLCipher и Android Keystore; 👉 почему офлайн-режим может стать дополнительным уровнем безопасности; 👉 и при чём тут ГОСТ-шифрование 👀 Классная статья для тех кто не копался в шифрование и хочет в это погрузиться хотя бы на базовом уровне #android#безопасность

8,050 views

Статья с громким названием "Динамические обновления без релизов и BDUI". "Ну вот она инновация", осторожно подумал я перед прочтением Да, ребята не используются подход BDUI, но фактически вся динамика работает на JS. Как мне показалось, получился некий аналог ReactNative, но специфичный под задачи приложения. Даже не знаю, лучше или хуже будет BDUI, но можно ли сильно оптимизировать выполнение JS?. JavaScript еще и однопоточный и требует работы между виртуальной машиной для выполнения Java кода и JS #android#bdui#kmp

7,450 views
12•••1011121314•••20•••30•••4041