Android Broadcast
14.1K subscribers
3.39K photos
282 videos
11 files
5.67K links
Подборка новостей и статей для Android разработчиков.

Связь с автором @android_broadcast_bot
Реклама @android_broadcast_bot

РКН https://abdev.by/rkn_tg_ab
Download Telegram
Представили Fused Orientation Provider API - стандартизированное API, которое позволяет через один сервис отслеживать повороты одинаково. Оно является часть Google Play Services. Ориентация определяется на основе аккселерометра, гироскопа и магнитометра

Что надо знать:
👉 API доступно всем устройствам на Android 5.0+ с Google Play Services
👉 Никаких разрешений запрашивать не надо
👉 На устройства с Android S (API Level 31) и выше частота ограничена 200 Гц. Хотите чаще - просите разрешение HIGH_SAMPLING_RATE_SENSORS
👉 API доступно только для приложений в Foreground статусе

#playservices
Forwarded from Kotlin Multiplatform Broadcast (Кирилл Розов)
В Kotlin есть возможность уменьшить количество занимаемой памяти объектами с помощью value классов и пометкой их как @JvmInline. Например, так реализован класс Color в Compose, чтобы не создавать обертку над хранимым в long значении. Рекомендую вам ознакомиться с документацией и использовать данный подход в Kotlin/JVM
Media is too big
VIEW IN TELEGRAM
📺 Полный разбор Ultron (3 часа кодинга) - фреймворка для UI тестов View и Compose. Сравнение с Google UI Test Framework и Kaspresso

Автор проделал огромную работу и заслуживает вашего лайка под видео и звезды на GitHub

1:49 О демо
4:59 Ultron Github
8:13 Стандартный фреймворк для UI тестов
16:00 Kaspresso
18:48 Тесты на Ultron
24:28 Сравнение с Google и Kaspresso
Много примеров дальше
25:25 Интеграционные Compose тесты
28:10 Первое сравнение тестовых фреймворков
40:46 Второе сравнение тестовых фреймворков
1:00:56 Ultron, индексы по всему LazyList
1:07:36 Ultron, testTag - 2 способ поиска в LazyList
1:11:41 Allure report
1:24:46 Espresso, simple tests
1:27:10 Простой тест View UI на Ultron
1:31:07 Тесты списков: RecyclerView и LazyList
1:54:11 Демонстрация других фичей Ultron

Смотрите разбор на разных площадках:
👉YouTube
👉RuTube
👉VK Video
👉Дзен

#AndroidBroadcast #кодинг
Если у вас есть вопросы по Ultron, то есть группа @ultron_framework, где есть автор видео и другие пользователи фреймворка
Человек хочет попасть в Android разработку. Что ему учить в первую очередь?
Anonymous Poll
21%
Jetpack Compose
23%
XML Layout
47%
Придется знать обо хорошо чтобы найти работу
9%
Не участвую в опросе
This media is not supported in your browser
VIEW IN TELEGRAM
Статья (32 мин) с описание реализации удаления в стиле Таноса (так недавно сделали в Telegram). Анимация делается на OpenGL и дается очень подробная вводная и разбор

#animation #opengl
Библиотека Jetpack Media3 обзавелась возможностями редактирования видео и в статье (5 мин) разбирается: конвертирование, обрезка видео и простые эффекты, а также объединение несколько видео

🔗 Ссылка без VPN

#media #jetpack
Разработчик делится опытом публикации в RuStore, используя один ключ. Большую часть занимает история по тому как достать ключ, а в итоге решение - заменить ключ (да так можно раз в год) и загрузить уже свой, а не отдавать его генерацию Google Play

#googleplay #rustore
Media is too big
VIEW IN TELEGRAM
📺 Как работает Android Work Profile (13 мин)

В рамках данного видео:
👉 познакомитесь Android Work Profile
👉 узнаете что такое рабочий профиль
👉 разберетесь, как его создавать и запускать
👉 рассмотрим его возможности и средства для контроля работы девайса

Рассказывает Ксения Никитина, Android developer в Лаборатории Касперского. Занимается разработкой MDM-решения для защиты корпоративных и личных мобильных устройств, используемых сотрудниками компании в рабочих целях.

Видео доступно на Boosty и закрытом Telegram канале

#видео #раннийдоступ
Привет, Екатеринбург!

‼️Напоминаем, что завтра пройдёт первый митап Mobile Broadcast в Екатеринбурге 🚀

До митапа остался один день, количество мест ограничено, а это значит, что в субботу в 23:59 мы закроем форму регистрации на мероприятие. Кто хотел, но еще не успел записаться — сейчас самое время! <3

А мы с вами делимся финальными таймингами митапа Mobile Broadcast (смотрите картинку, сохраняйте себе)

Приходите в коворкинг SOK в 14:00 уже в это воскресенье

Послушаем лекции, а потом пойдем афтепатиться 🎉

Узнать больше информации, задать вопросы можно в группе сообщества Mobile Broadcast | Екатеринбург

#анонс #Екатеринбург
Please open Telegram to view this post
VIEW IN TELEGRAM
📺 BDUI – удовольствие или боль? (45 мин)

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

Доклад будет полезен разработчикам и командам, перед которыми стоит задача снизить TTM, упростить A/B-тестирование или поставлять изменения без обновления приложения. А также всем, кто хотел бы узнать об опыте другой компании.

Слайды доклада тут

#видео #bdui
BDUI на 100%: управляем шиммерами с бэкенда (44 мин)

В команде развития BDUI в Маркете разработали собственный язык для описания шиммеров, научились его быстро парсить и внедрили в приложение и бэкенд. Спикер рассказал, почему решили разрабатывать свой язык, похожий на Lisp, и почему обычный JSON или бинарный формат не подошли, как они научились генерировать код под обе платформы (iOS, Android) с помощью Python и почему отказались от идеи использовать KMM.

Слайды доклада тут

#видео #bdui
Генерация -api и -impl модулей в многомодульном проекте (8 мин) - статья разработчика из Альфа-Банка о том как они стандартизируют подход создания модулей в многомодульном проекте

#androidstudio #architecture #tooling
This media is not supported in your browser
VIEW IN TELEGRAM
Экспериментальное MediaPipe LLM Inference API позволяет запускать Large Language Models (LLMs) модели на устройства разных платформ (включая Android и iOS)

Кажется запуск больших нейросеток на устройствах уже все ближе. У меня остались вопрос по расходу батарейки и нагреву устройству при активном использовании. В статье рассказывают про оптимизации и результаты

🔗 Примеры кода на GitHub

На видео в посте демонстрация запуска модели Gemma 2B на iOS и Android с помощью MediaPipe LLM Inference API (размер параметров - 2.5 миллиона)

#ml #tensorflow
Статья с разбором анализа зависимостей в Gradle:
конфигурации (./gradlew :resolvableConfigurations
) и зависимости каждой из ней (./gradlew :app:dependencies --configuration <configname>
)

#gradle
Forwarded from AvitoTech
Открыли набор на стажировки сразу в 5 направлений: фронтенд, бэкенд, QA, Android, iOS.

❗️Собираем отклики до 28 марта.
Количество участников в каждом направлении ограничено, и регистрация может закрыться раньше.

Спешите нажать на ссылку ниже!

🔥 подать_заявку_подать_заявку 🔥

Стажировка оплачивается? Да, зарплату определяем на интервью в зависимости от профессии и количества часов.

Получится совмещать с учёбой? Да, так как на стажировку понадобится от 25 часов в неделю. Но после — полный рабочий день.

А удалённо можно? Да, если команда не против. Но для оформления нужно быть в России.

И на работу потом возьмёте? Ради этого всё и затевается.

Ждём в команду! ❤️

#avitostart
Please open Telegram to view this post
VIEW IN TELEGRAM
Вышел Retrofit 2.10.0 (предыдущий релиз был практически 4 года назад ).

Что нового:
👉 Поддержка Unit в качестве типа ответа
👉 Официальный kotlinx.serialization конвертре (фактичес перенесли сущестующее решение от Jake Wharton). Новый артефакт - com.squareup.retrofit2:converter-kotlinx-serialization
👉 JAXB 3 конвертер - com.squareup.retrofit2:converter-jaxb3
👉 @Header@Headers и @HeaderMap стали поддерживать не ASCII значения, но надо указать в true параметр allowUnsafeNonAsciiValues
👉 Появился BOM - com.squareup.retrofit2:retrofit-bom
👉 Response Type Keeper - генератор keep правил ProGuard чтобы у вас все хорошо работало и не пришлось добавлять все подряд
👉 Поддержка Java 14 b Java 16 специфичных методов рефлексии для выполнения методов по умолчанию

Помимо этого произошли другие доработки и улучшения (список большой)

#network
Media is too big
VIEW IN TELEGRAM
🔴 Продолжаю разработку новостного приложения в прямом эфире (часть 4)

Продолжаем разработку новостного приложения. Буду настраивать автоматические проверки кода, автоматизации сборки на CI и готовиться к публикации приложения.

Плейлист со всеми частями разработки приложения смотреть тут

❗️ Запись эфира останется на канале

#AndroidBroadcast #live #кодинг
На моём Boosty вы сможете найти лучшие практики и лайфхаки по использованию разных API:
👉 Как ускорить получение зависимостей из Dagger графа
👉 Делегаты классов в Kotlin при миграции между разными API
👉 Как не дать запуститься Coroutine больше одного раза. Решение в лоб и красиво

Все это доступно по подписке за 300 рублей в месяц и даже больше контента: База Знаний, эксклюзивные видео, ранний доступ, закрытый чат и много других преимуществ!

#AndroidBroadcast #Boosty
🔴 Стартует собеседование на Mobile Developer. Сергей Ермолаев, Авито

System Design собес - проектирование того, как работает целый сервис и мобильное приложение в ней. В рамках собеседования нужно будет спроектировать простой клон Aвито.

P.S. Запись останется на канале после эфира

#AndroidBroadcast #собеседование