Android Broadcast – Telegram
Android Broadcast
14.4K subscribers
3.68K photos
367 videos
11 files
6.1K links
Подборка новостей и статей для Android разработчиков.

Реклама и связь с автором @ab_manager

РКН https://abdev.by/rkn_tg_ab #MQRZR
Download Telegram
Media is too big
VIEW IN TELEGRAM
🔨 Сегодня исполнилось 10 лет с выхода Android Studio 1.0 🤯

Я помню как пробовал ранние сборки Android Studio, мучался с переходом на IDEA платформу после Eclipse, знакомился с системой сборки после хаоса ADT плагина.

Ставьте ❤️ если пользовались Android Studio с первой версии и делитесь вашими воспоминаниями от первой версии

#android #androidstudio
Please open Telegram to view this post
VIEW IN TELEGRAM
115🎉29🤯8🔥7👍2
Media is too big
VIEW IN TELEGRAM
📹 Android Developers Backstage 212 - С Днём Рождения, Android Studio!

Состав из одних ветеранов команды Android разработки и Чета Хасса обсуждают всю историю Android Studio от идеи её появления до современности!

Подключение библиотек через исходники, сборка приложений на машине разработчика и множество других ограничений, которые большинство подписчиков этого канала даже и не знали 😁 а на они все были. Когда разработчики жалуются на современные инструменты, то я вспоминаю хаотичный статус инструментов в 2012, когда я начинал.

#android #adb #androidstudio
Please open Telegram to view this post
VIEW IN TELEGRAM
🎉20👍103
This media is not supported in your browser
VIEW IN TELEGRAM
Руководство(EN,6м) от команды CameraX по созданию эффекта как на видео, когда весь ваш UI на Compose. Используется определение лиц в кадре и наложение масок

🔗 Ссылка без VPN

#android #jetpack #camerax #камера #compose
👍22🔥7
⚙️ Optimize App Performance By Mastering Stability in Jetpack Compose (EN, 20м)

Очень подробный гайд по тому, как оптимизировать производительность приложения через использование стабильных типов для меньшего числа рекомпозиций.

Разбираются:
👉 Что такое Stable тип
👉 Как происходит рекомпозиция
👉 Restartable и Skippable Composable функции
👉 Compose Compiler Metrics
👉 Аннотации Immutable и Stable
👉 Аннотация NonRestartableComposable
👉 Как стабилизировать Composable функции
👉 Strong Skipping Mode

#compose #производительность
Please open Telegram to view this post
VIEW IN TELEGRAM
👍371
🎉 Новый тестовый формат на канале

Хочу попробовать сделать разбор реальных заданий из компаний. Сейчас вижу несколько форматов

1️⃣ Решение тестового задания в компанию
Если кто-то из вас готов мне слить актуальное тестовое задание (кодинг/теорию/архитектуру), то я разберу его и выложу видео. Гарантирую анонимность при слитии задания. Готов обсудить выкуп задания или какой-то другой обмен. Пишите мне в личку @kirill_broadcast

2️⃣ Разбор записи собеседования
Сбрасываете мне запись собеседования и я её разберу, а запись выложу. Будет формат реакта или из интервью достану вопросы и запищу на них ответы

Формат образовательный, а не для того чтобы хакнуть собеседования. Даже зная ответы на все вопросы, изменить сценарий интервью опытному собеседующему будет несложно


UPD: Получил несколько записей этапов и заданий. Буду брать в работу; Выложу только на Boosty/Tribute

#AndroidBroadcast
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥45🤯15👍5🎉1
🤖 Разбор как Android освобождает память для приложений (EN, 5м)

Android имеет ограниченное количество оперативной памяти для приложений и не использует SWAP. Что множество приложений могли работать система использует механизмы по управлению приложениями для очистки памяти - Low Memory Killer (LMKd) и Kernel SWAP (Kswapd). В статье разбирают эти утилиты и принципы работы с памятью

🔗 Ссылка без VPN
Please open Telegram to view this post
VIEW IN TELEGRAM
2🔥32👍113
📺 Google заставит разработчиков поддержать планшеты в Android 16

Google снова пытается убедить разработчиков поддерживать UI под большие экраны. Сделал видео где сделал весь обзор попыток Google повысить популярность Android планшетов и почему снова ничего не выйдет.

#AndroidBroadcast #android16
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥26🤯15👍82🎉1
На сайте Android Developers появилась документация с рекомендациями по разработке приложений и циферблатов для детей на WearOS

#android #wearos
🎉13👍7
Какие типы Android устройств вы поддерживаете в приложениях? (команда проводит тестирование, используете фичи и др.)
Anonymous Poll
92%
Смартфоны
24%
Планшеты
7%
Складные устройства
1%
Android на ChromeOS
2%
Google WearOS
7%
AndroidTV
3%
Android Auto
1%
Не пишу код
6%
Не участвую в опросе
👍12
This media is not supported in your browser
VIEW IN TELEGRAM
Goose - open-source ИИ-ассистент , который заберет рутину у программистов и сократит время на выполнение задач

Ключевые особенности:
👉 Работает локально на вашем компьютере без интернета
👉 Расширяемый: можно подключить сторонние сервисы через API
👉 Может работать с разными провайдерами AI: OpenAI, Gemini, Groq и другие
👉 Есть интеграция с IDE от JetBrains

@mobi_dev
🤯31👍12
🚀 Вышел Room 2.7.0-alpha13

Библиотека мигрирует на Kotlin 2.0+ и весь проект должен будет тоже использовать её. Хотите KMP - точно надо будет мигрировать на Kotlin 2.0

Это последний альфа релиз и дальше будет Beta и уже совсем скоро релиз.

#android #kmp #jetpack #jetpackupdate #sqlite
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥284👍2
Media is too big
VIEW IN TELEGRAM
📹 Обзор компактного рабочего стола для работы стоя/сидя (14 мин)

Мне понадобилось сделать рабочее место дома, а места для этого не так много. Решением послужил компактный стол - Ergostol One 2.0. Попользовался им практически месяц и делюсь впечатлениями.

Промокод со скидкой на 10% на всю продукцию Ergostol в описание к видео

#AndroidBroadcast #ergostol
Please open Telegram to view this post
VIEW IN TELEGRAM
👍25🔥7🤯7
У Qualcomm есть собственная технология апскейла для игр - Snapdragon Game Super Resolution 2. Полезно разработчикам игр с 3D. Короткое знакомство в статье (EN,4м)

Ссылка без VPN

#qualcomm #gpu
👍20
Как команда Контура объединила CI/CD для мобильных платформ (5м)

Команда мобильной разработки Контура столкнулась с проблемой разного CI/CD для Android и iOS. Разные пайплайны, gitflow, подходы к секретам и использование сабмодулей создавали сложности в сопровождении и развитии инфраструктуры.

Как было:
👉 Разные процессы CI для Android и iOS
👉 Submodules, не подтягивающие обновления
👉 Дублирование кода
👉 Сложности с мультиплатформенным подходом

Как стало:
👉 Перевели CI на единый шаблон
👉 Отказались от сабмодулей
👉 Унифицировали работу с секретами
👉 Перешли на модульную структуру fastlane

Теперь CI/CD работает как сервис: разработчики могут быстро подключать обновления и собирать пайплайны под новые платформы. Даже после ухода ключевых инженеров система продолжает стабильно работать.

UPD1: Этот процесс был выполнен давно и в Контур уже отказались от Fastlane.

#fastlane #android #ios #ci #автоматизация
👍192
Все мы уже привыкли выкладывать сборки в Google Play через AAB, которые передаст на устройство только необходимое для устройства нативные библиотеки. Некоторым приходится раздавать сборку в APK формате. Банальный кейс - отдавать сборку на проверку QA.

Универсальное APK - содержит ресурсы и библиотеки под все возможные устройства, даже те которые не нужны на устройстве пользователя. Обычно нативные библиотеки делают наибольший вклад в конечный размер приложения на устройстве пользователя. Отказ от ненужных позволит снизить размер и скорость доставки до устройства пользователя.

Android Gradle плагин позволяет указать какие ABI нужно добавлять в сборку. Сложность в том, что для финальной сборки обычно надо добавить ABI arm64-v8a и armeabi-v7a, а вот для Intel эмуляторов нужны x86 и x86-64. Чтобы делать это эффективно, я делал механизм передачи значений ABI через переменные при сборке. Это позволяет задавать локально и на CI разные значения, а локальные задавать через файл local.properties или переменную окружения

// Код в Gradle KTS скрипте
fun resolveAbiFilters(): List<String> {
val abisString =
project.findProperty("abiFilter") as String? // Параметр командной строки
?: readFromLocalProperties("abi.filter") // Значение из local.properties
?: System.getenv("ABI_FILTER") // Переменная окружения

return abisString?.split(",") ?: emptyList()
}

fun readFromLocalProperties(key: String): String? {
val localPropertiesFile = rootProject.file("local.properties")
if (!localPropertiesFile.exists()) return null

val localProperties = Properties().apply {
localPropertiesFile.inputStream().use(::load)
}
return localProperties.getProperty(key)
}


// В Android application модуле указываем
android {
defaultConfig {
ndk {
abiFilters = resolveAbiFilters()
}
}
}


Пример задания через параметр
./gradlew assembleRelease -PabiFilter=arm64-v8a,armeabi-v7a


Если вы запускаете приложения из Android Studio на устройстве/эмуляторе, то IDE понимает какую ABI из поддерживаемых стоит включить в APK, чтобы приложение смогло работать. Все остальные исключается. Сборка компактнее - меньше время на передачу и установку тестового билда.

#android #gradle #ndk
👍48🔥102
Получали недавно такое письмо от Google Play? Так вот вам пора переходить на Photo Picker или направить обоснование доступа к картинкам и видео напрямую. Подробности решения в статье (EN,5м)

🔗 Ссылка без VPN

#android #googleplay #permission
👍37🤯13🔥4👏1🎉1
Google объвила об отказе разработки Relay - инструмента для генерации Compose кода на основе макетов в Figma. Срок закрытия поддержки - 30 апреля 2025.

Причина закрытия проекта - появление Figma Code Connect с поддержкой Compose

#compose #figma
🤯34👍16
Media is too big
VIEW IN TELEGRAM
📹 Обзор Beta версии Figma Code Connect

Сам не знал что это за зверь такой и буду изучать

UPD. Понял почему не знал - у меня нет денег на такую лицензию 😂

#figma
Please open Telegram to view this post
VIEW IN TELEGRAM
👍27