Android Broadcast
Подборка новостей и статей для Android разработчиков. Реклама и связь с автором @ab_manager РКН https://abdev.by/rkn_tg_ab #MQRZR
Показати більше📈 Аналітичний огляд Telegram-каналу Android Broadcast
Канал Android Broadcast (@android_broadcast) у мовному сегменті Російська є активним учасником. На даний момент спільнота об'єднує 14 584 підписників, посідаючи 8 762 місце в категорії Технології та додатки та 45 369 місце у регіоні Росія.
📊 Показники аудиторії та динаміка
З моменту свого створення невідомо, проект продемонстрував стрімке зростання, зібравши аудиторію у 14 584 підписників.
За останніми даними від 09 липня, 2026, канал демонструє стабільну активність. Хоча за останні 30 днів спостерігається зміна кількості учасників на 20, а за останні 24 години на 2, загальне охоплення залишається високим.
- Статус верифікації: Не верифікований
- Рівень залученості (ER): Середній показник залученості аудиторії становить 46.12%. Протягом перших 24 годин після публікації контент зазвичай збирає 23.82% реакцій від загальної кількості підписників.
- Охоплення публікацій: В середньому кожен допис отримує 6 726 переглядів. Протягом першої доби публікація в середньому набирає 3 474 переглядів.
- Реакції та взаємодія: Аудиторія активно підтримує контент: середня кількість реакцій на один пост – 41.
- Тематичні інтереси: Контент зосереджений навколо ключових тем, таких як api, kotlin, gradle, сборка, androiddev.
📝 Опис та контентна політика
Автор описує ресурс як майданчик для висловлення суб'єктивної думки:
“Подборка новостей и статей для Android разработчиков.
Реклама и связь с автором @ab_manager
РКН https://abdev.by/rkn_tg_ab #MQRZR”
Завдяки високій частоті оновлень (останні дані отримано 10 липня, 2026), канал підтримує актуальність та високий рівень охоплення публікацій. Аналітика показує, що аудиторія активно взаємодіє з контентом, що робить його важливою точкою впливу в категорії Технології та додатки.
android.onlyEnableUnitTestForTheTestedBuildType=true
После этого unit-тесты будут генерироваться только для основного тестируемого build type (как правило, debug). Это:
👉 убирает лишние Gradle-задачи;
👉 сокращает время конфигурации проекта;
👉 снижает потребление памяти;
👉 ускоряет локальную разработку и CI-пайплайны.
Если вы не запускаете unit-тесты для release-сборок (а так делают почти все), то включение этого флага — бесплатная оптимизация сборочной инфраструктуры.
Это хороший пример того, как дефолтные настройки инструментов ориентированы на универсальность, а не на эффективность, и почему их стоит регулярно пересматривать в контексте реальной архитектуры проекта.
#Android #AndroidDev #GradlePermission не гарантирует, что приложение действительно сможет получить эти данные.
Например, приложению выдали доступ к геолокации, и формально оно имеет право узнать, где находится пользователь. Но при запросе локации приложение получает null. Почему?
Здесь и появляется понятие Ability — фактическая возможность получить данные в текущий момент времени. И она может отсутствовать даже при наличии разрешения.
Причин может быть множество:
👉 пользователь отключил геолокацию через быстрые настройки;
👉 система временно приостановила доступ (например, в режиме энергосбережения);
👉 прошивка вендора ограничила работу сенсора;
👉 администратор устройства запретил доступ к геолокации;
👉 отсутствует физический сигнал (GPS недоступен, нет сети и т.д.).
Итог: Permission — это юридическое право, Ability — это реальная техническая возможность.
С точки зрения архитектуры, наличие permission не должно рассматриваться как гарантия наличия данных. Бизнес-логика и use case’ы должны быть спроектированы так, чтобы корректно работать в ситуации отсутствия ability.
Другими словами: приложение должно быть готово к тому, что внешний мир в любой момент может стать недоступным — даже если формально все разрешения выданы. Это означает:
1️⃣ отсутствие жёстких предположений о доступности данных;
2️⃣ обработку null, ошибок и таймаутов как нормального сценария;
3️⃣ явное моделирование состояний «данные недоступны» в доменной модели.
Permission — это контракт с пользователем. Ability — это контракт с реальностью. И именно второй чаще всего нарушается.
#AndroidDev #AndroidOS #Архитектура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 #PIPANDROID10 — ещё –10% на все столы и опции к ним!
Не тяните, предзаказ по суперцене действует ограниченное время 🆕📦
Реклама. ООО «СОФТЭФФЕКТ». ИНН 7735575262// Пример теста
@Test
fun myTest() {
trailblaze.execute(
"""
Open profile,
change name to John,
save
"""
)
}
Подход не заставляет перестраивать CI/CD с нуля — используешь существующую инфраструктуру (Gradle, Espresso, UiAutomator). Постепенное внедрение AI-тестов рядом с обычными.
Проект свежий, но за ним стоит опыт команды из крупной финтех-компании. Посмотрим, как будет развиваться.
🐱 GitHub Trailblaze
📄 Документация
#AI #тестированиеjourneysTest.
- Тесты можно запускать прямо из студии или через командную строку (gcloud).
😮 В чём подвох?
Несмотря на удобство «написания», вопросы к инфраструктуре остаются открытыми:
👉 Привязка к Google Cloud: Чтобы запустить эти тесты через CLI, нужна авторизация в gcloud. Без интернета и доступа к серверам Google магия парсинга не сработает.
👉 Изолированный контур: Если ваш CI/CD живет в закрытой сети, внедрить Jordins будет тем еще квестом.
👉 Масштабируемость: Насколько стабильно AI будет интерпретировать изменения в UI спустя время?
Лично я пока настроен скептически. Старый добрый Kaspresso или Compose Test Framework на Kotlin кажутся надежнее — они не требуют облаков, легко поддерживаются и работают в любом «подвале» без интернета. Да и генерировать код с AI совсем просто и поддерживается понятнее.
Journeys выглядит как классная игрушка для прототипов, но в продакшене больших проектов может стать сложностью.
🔗 Подробнее про Journeys for Android Studio в документации
💬 А что думаете вы? Кто-нибудь уже успел потыкать Journeys в реальных условиях? Может, я упускаю какую-то киллер-фичу, которая оправдывает привязку к облаку? Пишите в комментариях! 👇
#androidstudio #ai #тестированиеEditor -> Inlay Hints -> Declarations generated by Kotlin compiler
Android Studio содержит фичу с версии Panda Canary 4
Спасибо за эту фичу Жене Ф.
#androidstudio #idea