Представили 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
Что надо знать:
👉 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 #кодинг
Автор проделал огромную работу и заслуживает вашего лайка под видео и звезды на 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
#animation #opengl
Библиотека Jetpack Media3 обзавелась возможностями редактирования видео и в статье (5 мин) разбирается: конвертирование, обрезка видео и простые эффекты, а также объединение несколько видео
🔗 Ссылка без VPN
#media #jetpack
🔗 Ссылка без VPN
#media #jetpack
Разработчик делится опытом публикации в RuStore, используя один ключ. Большую часть занимает история по тому как достать ключ, а в итоге решение - заменить ключ (да так можно раз в год) и загрузить уже свой, а не отдавать его генерацию Google Play
#googleplay #rustore
#googleplay #rustore
Media is too big
VIEW IN TELEGRAM
📺 Как работает Android Work Profile (13 мин)
В рамках данного видео:
👉 познакомитесь Android Work Profile
👉 узнаете что такое рабочий профиль
👉 разберетесь, как его создавать и запускать
👉 рассмотрим его возможности и средства для контроля работы девайса
Рассказывает Ксения Никитина, Android developer в Лаборатории Касперского. Занимается разработкой MDM-решения для защиты корпоративных и личных мобильных устройств, используемых сотрудниками компании в рабочих целях.
Видео доступно на Boosty и закрытом Telegram канале
#видео #раннийдоступ
В рамках данного видео:
👉 познакомитесь Android Work Profile
👉 узнаете что такое рабочий профиль
👉 разберетесь, как его создавать и запускать
👉 рассмотрим его возможности и средства для контроля работы девайса
Рассказывает Ксения Никитина, Android developer в Лаборатории Касперского. Занимается разработкой MDM-решения для защиты корпоративных и личных мобильных устройств, используемых сотрудниками компании в рабочих целях.
Видео доступно на Boosty и закрытом Telegram канале
#видео #раннийдоступ
Forwarded from Mobile Broadcast | Анонсы
Привет, Екатеринбург!
‼️ Напоминаем, что завтра пройдёт первый митап Mobile Broadcast в Екатеринбурге 🚀
До митапа остался один день, количество мест ограничено, а это значит, что в субботу в 23:59 мы закроем форму регистрации на мероприятие. Кто хотел, но еще не успел записаться — сейчас самое время! <3
А мы с вами делимся финальными таймингами митапа Mobile Broadcast (смотрите картинку, сохраняйте себе) ⏰
Приходите в коворкинг SOK в 14:00 уже в это воскресенье
Послушаем лекции, а потом пойдем афтепатиться🎉
Узнать больше информации, задать вопросы можно в группе сообщества 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
Спикер поделился опытом команды Циан – расскажет, почему решили создать свой инструмент, рассмотрел основные нюансы реализации и продемонстрирует, как она работает. Поговорили о том, какие трудности могут поджидать при разработке такого инструмента и обсудили область его применения.
Доклад будет полезен разработчикам и командам, перед которыми стоит задача снизить TTM, упростить A/B-тестирование или поставлять изменения без обновления приложения. А также всем, кто хотел бы узнать об опыте другой компании.
Слайды доклада тут
#видео #bdui
YouTube
Дмитрий Жердев — BDUI – удовольствие или боль?
Ближайшая конференция: Mobius 2025 Spring, 9–10 апреля, Москва + онлайн. Подробности и билеты: https://jrg.su/ojGU3B
— —
Backend-Driven UI (BDUI) – концепция, при которой сервер управляет не только данными в приложении, но и его версткой, то есть формирует…
— —
Backend-Driven UI (BDUI) – концепция, при которой сервер управляет не только данными в приложении, но и его версткой, то есть формирует…
BDUI на 100%: управляем шиммерами с бэкенда (44 мин)
В команде развития BDUI в Маркете разработали собственный язык для описания шиммеров, научились его быстро парсить и внедрили в приложение и бэкенд. Спикер рассказал, почему решили разрабатывать свой язык, похожий на Lisp, и почему обычный JSON или бинарный формат не подошли, как они научились генерировать код под обе платформы (iOS, Android) с помощью Python и почему отказались от идеи использовать KMM.
Слайды доклада тут
#видео #bdui
В команде развития BDUI в Маркете разработали собственный язык для описания шиммеров, научились его быстро парсить и внедрили в приложение и бэкенд. Спикер рассказал, почему решили разрабатывать свой язык, похожий на Lisp, и почему обычный JSON или бинарный формат не подошли, как они научились генерировать код под обе платформы (iOS, Android) с помощью Python и почему отказались от идеи использовать KMM.
Слайды доклада тут
#видео #bdui
YouTube
Михаил Бесхитров — BDUI на 100%: управляем шиммерами с бэкенда
Ближайшая конференция: Mobius 2025 Spring, 9–10 апреля, Москва + онлайн. Подробности и билеты: https://jrg.su/ojGU3B
— —
В команде развития BDUI в Маркете разработали собственный язык для описания шиммеров, научились его быстро парсить и внедрили в приложение…
— —
В команде развития BDUI в Маркете разработали собственный язык для описания шиммеров, научились его быстро парсить и внедрили в приложение…
Генерация -api и -impl модулей в многомодульном проекте (8 мин) - статья разработчика из Альфа-Банка о том как они стандартизируют подход создания модулей в многомодульном проекте
#androidstudio #architecture #tooling
#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
Кажется запуск больших нейросеток на устройствах уже все ближе. У меня остались вопрос по расходу батарейки и нагреву устройству при активном использовании. В статье рассказывают про оптимизации и результаты
🔗 Примеры кода на GitHub
На видео в посте демонстрация запуска модели Gemma 2B на iOS и Android с помощью MediaPipe LLM Inference API (размер параметров - 2.5 миллиона)
#ml #tensorflow
Forwarded from AvitoTech
Открыли набор на стажировки сразу в 5 направлений: фронтенд, бэкенд, QA, Android, iOS.
❗️ Собираем отклики до 28 марта.
Количество участников в каждом направлении ограничено, и регистрация может закрыться раньше.
Спешите нажать на ссылку ниже!
🔥 подать_заявку_подать_заявку 🔥
Стажировка оплачивается? Да, зарплату определяем на интервью в зависимости от профессии и количества часов.
Получится совмещать с учёбой? Да, так как на стажировку понадобится от 25 часов в неделю. Но после — полный рабочий день.
А удалённо можно? Да, если команда не против. Но для оформления нужно быть в России.
И на работу потом возьмёте? Ради этого всё и затевается.
Ждём в команду!❤️
#avitostart
Количество участников в каждом направлении ограничено, и регистрация может закрыться раньше.
Спешите нажать на ссылку ниже!
Стажировка оплачивается? Да, зарплату определяем на интервью в зависимости от профессии и количества часов.
Получится совмещать с учёбой? Да, так как на стажировку понадобится от 25 часов в неделю. Но после — полный рабочий день.
А удалённо можно? Да, если команда не против. Но для оформления нужно быть в России.
И на работу потом возьмёте? Ради этого всё и затевается.
Ждём в команду!
#avitostart
Please open Telegram to view this post
VIEW IN TELEGRAM
Вышел Retrofit 2.10.0 (предыдущий релиз был практически 4 года назад ).
Что нового:
👉 Поддержка Unit в качестве типа ответа
👉 Официальный kotlinx.serialization конвертре (фактичес перенесли сущестующее решение от Jake Wharton). Новый артефакт -
👉 JAXB 3 конвертер -
👉
👉 Появился BOM - com.squareup.retrofit2:retrofit-bom
👉 Response Type Keeper - генератор keep правил ProGuard чтобы у вас все хорошо работало и не пришлось добавлять все подряд
👉 Поддержка Java 14 b Java 16 специфичных методов рефлексии для выполнения методов по умолчанию
Помимо этого произошли другие доработки и улучшения (список большой)
#network
Что нового:
👉 Поддержка 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 #кодинг
Продолжаем разработку новостного приложения. Буду настраивать автоматические проверки кода, автоматизации сборки на CI и готовиться к публикации приложения.
Плейлист со всеми частями разработки приложения смотреть тут
❗️ Запись эфира останется на канале
#AndroidBroadcast #live #кодинг
На моём Boosty вы сможете найти лучшие практики и лайфхаки по использованию разных API:
👉 Как ускорить получение зависимостей из Dagger графа
👉 Делегаты классов в Kotlin при миграции между разными API
👉 Как не дать запуститься Coroutine больше одного раза. Решение в лоб и красиво
Все это доступно по подписке за 300 рублей в месяц и даже больше контента: База Знаний, эксклюзивные видео, ранний доступ, закрытый чат и много других преимуществ!
#AndroidBroadcast #Boosty
👉 Как ускорить получение зависимостей из Dagger графа
👉 Делегаты классов в Kotlin при миграции между разными API
👉 Как не дать запуститься Coroutine больше одного раза. Решение в лоб и красиво
Все это доступно по подписке за 300 рублей в месяц и даже больше контента: База Знаний, эксклюзивные видео, ранний доступ, закрытый чат и много других преимуществ!
#AndroidBroadcast #Boosty
🔴 Стартует собеседование на Mobile Developer. Сергей Ермолаев, Авито
System Design собес - проектирование того, как работает целый сервис и мобильное приложение в ней. В рамках собеседования нужно будет спроектировать простой клон Aвито.
P.S. Запись останется на канале после эфира
#AndroidBroadcast #собеседование
System Design собес - проектирование того, как работает целый сервис и мобильное приложение в ней. В рамках собеседования нужно будет спроектировать простой клон Aвито.
P.S. Запись останется на канале после эфира
#AndroidBroadcast #собеседование