Обновить
342.44

Android *

Пишем под самую популярную мобильную ОС

Сначала показывать
Порог рейтинга
Уровень сложности

Как я пытался чинить анимацию в Jetpack Compose LazyColumn

Уровень сложностиСредний
Время на прочтение14 мин
Охват и читатели8.2K

Привет, Хабр! Я Витя Строеску, последние пять лет в свободное от отдыха время занимаюсь разработкой под Android, три из которых — в команде мобильного оператора Т-Мобайл.

Поделюсь с вами опытом попытки конфигурации анимаций для айтемов у Compose LazyColumn. Мы переписывали наш главный экран с XML+View на Jetpack Compose, который состоит из списка с различного рода сложности айтемами.

В статье разберем, почему возникает рассинхрон, как устроен механизм анимаций внутри LazyColumn, почему кастомный animateItem обречен с самого начала и к какому решению мы пришли в итоге.

Читать далее

Новости

8 лучших календарей для Android с поддержкой русского языка

Уровень сложностиПростой
Время на прочтение19 мин
Охват и читатели7.5K

Всем привет! Меня зовут Майя и я контент-менеджер. Каждый день работаю с дедлайнами и давно поняла, что стандартный календарь на Android не всех устраивает.

AOSP-календарь (встроенное базовое приложение системы Android) есть далеко не на всех устройствах — особенно на смартфонах Huawei и Xiaomi с кастомными оболочками. А там, где он есть, функционал минимальный: создал событие, поставил напоминание — и всё.

Поэтому собрала 8 приложений, которые решают эту проблему, и разделила их на две группы: таск-менеджеры со встроенным календарём — для тех, кому нужно управлять не только событиями, но и задачами, и чистые календари — для тех, кто хочет простой и удобный планировщик без лишнего. Только конкретика: функции, цена, плюсы и минусы.

И в конце расскажу как скачать и установить календарь на Android тремя способами — для тех, кто не знает.

Читать далее

Приложение падало на старте. Мы теряли 5% пользователей. Разбор кейса FanBattle

Уровень сложностиСредний
Время на прочтение2 мин
Охват и читатели6.8K

После одного из релизов у FanBattle приложение перестало открываться у части пользователей. Проблема затронула около 5% аудитории. Баг исправили быстро, но пользователи не могли даже узнать, что вышла новая версия — приложение падало раньше, чем успевал появиться интерфейс.

Разбираем, как команда решила проблему через раннюю инициализацию SDK и force update.

Читать далее

Как реализовать WebSocket на Android и не сойти с ума

Уровень сложностиСредний
Время на прочтение14 мин
Охват и читатели6.7K

Как часто вы слышите что-то о протоколе WebSocket? А как часто видели его в проектах? Продакшн? Андроид? Что? Его кто-то использует?

А теперь представьте, что перед вами стоит задача внедрить WS в крупный продакшн проект с нуля. С чего начать? Как подступиться?

Читать далее

Как я перестал верстать чеки в коде и написал визуальный редактор шаблонов для Flutter

Уровень сложностиПростой
Время на прочтение2 мин
Охват и читатели5.5K

Я решил, что хватит это терпеть, и написал pdf_kit_editor — визуальный конструктор, который отделяет дизайн документа от данных.

Читать далее

Unreal Engine 5.4 + C++ + MacOS Tahoe + Android build = Build Successful

Уровень сложностиСредний
Время на прочтение4 мин
Охват и читатели7.9K

Небольшая инструкция для всех, кто работает в Unreal Engine и пишет на C++ или иных языках + компилирует файлы для Андроид.

Читать далее

Мобильная разработка за неделю #622 (2 — 9 марта)

Уровень сложностиПростой
Время на прочтение5 мин
Охват и читатели5.9K

В новом выпуске замена циклов рекурсией и Android на десктопах, нарезание Android-монолита и промпт-контракты, снижение комиссии в Play Store, потери органики и что с этим делать, скрытый bottleneck сборок и многое другое. Заходите!

Читать далее

« DeepSeek, сделай мне робота!»: техническая исповедь, карта минного поля и полные файлы проекта

Уровень сложностиПростой
Время на прочтение6 мин
Охват и читатели16K

Привет! Это вторая часть. Первая была про то, как автомаляр без знания кода и DeepSeek за две недели собрали робота из старого смартфона. Там — эмоции и философия. Здесь — хардкор.

В этом тексте:
— Архитектура проекта: кто за что отвечает.
— Все файлы: сервер, прошивка ESP, веб-морда, стример.
— Карта минногополя — то, о чем молчат туториалы.
— Инструкция «запусти за 5 минут» и как адаптировать под другое железо.

Будут ссылки. Всё уже в репозитории.

Читать далее

Todo Budget v5.0: переписал весь UI с нуля на Jetpack Compose — и теперь ищу тех, кто его сломает

Уровень сложностиПростой
Время на прочтение5 мин
Охват и читатели11K

До пятой версии главный экран был функциональным, но визуально скучным. Типичный Material Design без характера. Я получил несколько честных отзывов — в том числе жёстких — и решил переделать всё.

Читать далее

Разворачиваем self-hosted Matrix: Synapse + OIDC + LiveKit + подписанные обновления

Уровень сложностиСложный
Время на прочтение9 мин
Охват и читатели7.7K

Привет. Мне стало интересно, насколько реально одному разработчику собрать продакшн‑подобную инфраструктуру мессенджера без managed‑решений и облачной магии. Не стартап‑презентацию, а инженерный эксперимент: развернуть стек, заставить его жить, увидеть слабые места и понять, что в этой системе действительно критично.

На Хабре уже есть материалы про базовую установку Synapse + Element, но моя цель чуть другая - показать сборку, где к Matrix добавляется внешний слой идентификации (OIDC), VoIP‑инфраструктура (LiveKit + TURN) и механизм подписанных обновлений Android‑клиента.

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

Читать далее

Месседжер MAX следит за пользователями VPN? Реверс инжиниринг говорит — да (добавлено обновление)

Уровень сложностиПростой
Время на прочтение9 мин
Охват и читатели454K

И этот заголовок - не кликбейт. Подвергнув реверс инжинирингу клиент российского мессенджера MAX удалось подтвердить самые худшие предположения.

В сети начали появляться сообщения о странных обращениях мессенджера MAX к Telegram и WhatsApp, из-за чего в сети начали выдвигаться предположения касательно природы и целей этих запросов. Но одно дело предполагать, другое дело знать. Мало ли это какая-то интеграция или случайный аналитический модуль. Поэтому чтобы понять самому и рассказать вам я решил посмотреть внутрь клиента и понять что и зачем он делает.

TL;DR - содержит шпионский модуль, который сделали разработчики MAX для слежки за теми кто использует VPN, они постарались сделать этот модуль неблокируемым и прикрутили удаленное управление.

Читать далее

Зачем нужен companion object в Hilt-модулях

Уровень сложностиСредний
Время на прочтение4 мин
Охват и читатели4.9K

Замечали некий companion object в интерфейсах Hilt-модулей? Что он делает, как он работает под капотом, почему так популярен в Hilt-модулях, и почему нельзя обойтись обычными классами? Сегодня я развею эту магию!

Читать далее

Навигация как нервная система: Как мы подружили немецкий автопром с японскими платными дорогами через AIDL

Уровень сложностиСложный
Время на прочтение5 мин
Охват и читатели3.9K

Если вы думаете, что навигационная система в современном автомобиле — это просто красивое приложение, которое рисует синюю линию на карте и говорит «через 200 метров поверните направо», вы застряли в 2010 году.

В Android Automotive OS (AAOS) навигация часто становится одним из самых жирных и критически важных системных компонентов. Это «пространственный мозг» машины. Десятки других модулей постоянно дергают её за рукав с вопросами: «Где мы?», «Какое ограничение скорости?», «Сколько полос на дороге?», «В какой полосе мы сейчас едем?».

В этой статье я поделюсь опытом из своей практики разработки навигационной системы для крупного немецкого автопроизводителя. Мы разберем, как построить надежное межпроцессное взаимодействие (IPC) внутри автомобиля на примере передачи ADAS-атрибутов для японского модуля ETC 2.0.

Читать далее

Ближайшие события

Сравнение MVI и KoTEA

Уровень сложностиСредний
Время на прочтение3 мин
Охват и читатели4.9K

В мире Android-разработки существуют различные архитектурные паттерны.
Многие из вас хорошо знакомы с MVVM, и возможно сталкивались с MVP. В последнее время всё чаще звучит аббревиатура MVI (Model-View-Intent). Однако наряду с MVI существует похожий на неё подход – KoTEA (Kotlin The Elm Architecture).

Давайте сравним их и разберём их различия.

Читать далее

Робот из того, что ты выбросил: революция, которая осталась незамеченной

Уровень сложностиПростой
Время на прочтение7 мин
Охват и читатели11K

Я не могу написать и строчки кода. Но мир изменился и теперь буквально каждый может осуществить задуманное. В этой статье я расскажу как при помощи DeepSeek и старого Android собрать робота с душой, даже если ты ничего не знаешь о разработке. О революции в мире DIY которую мы пока не осознали. О бессмертии идей. Что нас ждёт и как ИИ повлияют на будущие поколения

Читать далее

Российский мессенджер MAX замечен в обращении к иностранным сервисам определения IP и серверам конкурентов

Уровень сложностиПростой
Время на прочтение4 мин
Охват и читатели207K

Пользователи профильного NTC‑форума (открывается только через IPv6), посвященного исследованиям интернет‑цензуры и обхода блокировок, обнаружили необычное сетевое поведение российского мессенджера MAX. Речь про официальный APK с официального сайта.

Схема была довольно прямолинейной: в одном случае использовали PCAPdroid — приложение, которое на Android‑устройстве имитирует VPN для перехвата сетевого трафика без необходимости получения root‑прав, таким образом позволяя отслеживать, анализировать и блокировать сетевые соединения, осуществляемые приложениями на устройстве. В другом случае анализировался трафик из эмулятора, причем отдельно отмечено, что образ системы в эмуляторе был «чистый», без установленных других мессенджеров и дополнительного софта.

По наблюдениям (дампы PCAPdroid выложены на форуме), мессенджер MAX регулярно дергает сразу несколько сервисов для определения внешнего IP‑адреса, причём часть из них — зарубежные. Среди доменов, которые всплыли при проверке, кроме российских сервисов, видны также иностранные сервисы.

Читать далее

Умный дом. От управления котлом до Андроид приложения

Уровень сложностиПростой
Время на прочтение4 мин
Охват и читатели8.3K

Привет, меня зовут Саша. Я руковожу группой разработки MVP-продуктов и моя жизнь очень тесто связана с IOT и умными девайсами. По работе я привык быстро собирать прототипы, проверять гипотезы и доводить их до минимально рабочего состояния.

Но эта история - не про рабочий проект.

Она началась с фразы моего друга:

«Слушай, а можно сделать так, чтобы котёл на даче был умным?»

Спойлер: можно. Ещё один спойлер: на выходе получилось мобильное приложение, кастомные Android-виджеты и планы на кухонный информационный центр.

Читать далее

Как нарезать Android-монолит с помощью compile-time плагинов?

Уровень сложностиСложный
Время на прочтение10 мин
Охват и читатели5.9K

Привет на связи Федотов Михаил и Абдульманов Эдуард, мы технические лидеры Android разработки в Альфа-Банке и занимаемся приложением для физических лиц.

В этой статье вспомним наш опыт разбиения большого монолитного android приложения на мини-приложения срезки, занимались мы этим уже довольно давно, но тема все равно актуальная.

Переход к таким мини-приложениям позволяет ускорить конфигурацию Gradle и уменьшить время компиляции проекта как локально так и на CI.

Думаю это будет полезно тем кто интересуется архитектурой android приложений, KSP, Dagger, а также тем у кого крупное многомодульное приложение и есть проблемы с производительностью работы Gradle в проекте.

Читать далее

Не Vibe-Coding, а инженерия с AI: как я за полгода сделал Android-приложение: социальный трекер привычек

Уровень сложностиСредний
Время на прочтение7 мин
Охват и читатели9.9K

Не Vibe-Coding, а инженерия с AI: Как за полгода я сделал Android‑приложение «Трекер привычек» с социальными функциями, синхронизацией, офлайн-режимом и виджетом

Читать далее

Flutter в феврале: релизы Flutter и Dart, Roadmap 2026, Toyota Fluorite и главное из экосистемы

Уровень сложностиПростой
Время на прочтение3 мин
Охват и читатели6K

Привет, Flutter-разработчики! 👋

Февраль — это тот месяц, когда экосистема не просто жила, а перестраивалась. Два ключевых релиза, публичный вектор развития на 2026, неожиданный 3D-движок от Toyota и тонна полезных материалов!

Читать далее
1
23 ...