Android Broadcast
Подборка новостей и статей для Android разработчиков. Реклама и связь с автором @ab_manager РКН https://abdev.by/rkn_tg_ab #MQRZR
نمایش بیشتر📈 تحلیل کانال تلگرام Android Broadcast
کانال Android Broadcast (@android_broadcast) در بخش زبانی روسی بازیگری فعال است. در حال حاضر جامعه شامل 14 584 مشترک است و جایگاه 8 762 را در دسته فناوری و برنامهها و رتبه 45 369 را در منطقه روسيا دارد.
📊 شاخصهای مخاطب و پویایی
از زمان ایجاد در невідомо، پروژه رشد سریعی داشته و 14 584 مشترک جذب کرده است.
بر اساس آخرین دادهها در تاریخ 09 ژوئیه, 2026، کانال فعالیت پایداری دارد. در ۳۰ روز گذشته تغییر اعضا برابر 20 و در ۲۴ ساعت گذشته برابر 2 بوده و همچنان دسترسی گستردهای حفظ شده است.
- وضعیت تأیید: تأیید نشده
- نرخ تعامل (ER): میانگین تعامل مخاطب 46.12% است و در ۲۴ ساعت نخست پس از انتشار، محتوا معمولاً 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