Обновить
90.23

Android *

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

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

Работа с аудио в Android: опыт реализации DAF — техники терапии заикания

Время на прочтение7 мин
Охват и читатели7.8K

Небольшие заметки о работе с аудио в Android: получение минимальной задержки, работа с аудио сэмплами напрямую, запись аудиоданных с сжатом виде.

Возможно для кого-то это окажется полезным.

Читать далее

Новости

Как правильно оттестировать первый релиз Android приложения для выкладки в Google Play Market

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

Краткое руководство для прохождения тестирования вашего первого релиза в Google Play market.

Как многие наверное знают, Гугл требуетналичие 12 тестировщиков в течении 14 дней чтобы вы успешно прошли его проверку. Это у него кратко. «А можно подробней? Детали?».

Данная небольшая статья как раз и предоставляет чуть больше данных.

Что именно требует Google?

Читать далее

Оптимизация и запуск нейронных сетей на React Native: кейс с травой

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

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

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

Читать далее

Анимация смены темы в Compose Multiplatform

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

Анимация смены темы в Android-версии Telegram на протяжении долгого времени вдохновляет разработчиков на попытки реверс-инжениринга этого красивого трюка: в сети немало подробных гайдов, как сделать подобную анимацию при помощи традиционных XML View и даже Flutter. Но реализаций этой элегантной (хоть и совершенно бесполезной) анимации на Jetpack Compose мне найти так и не удалось, что привело к созданию маленькой библиотеки для анимирования смены темы.

Вера в будущее KMP также подтолкнула меня к тому, чтобы сделать ее из коробки готовой к установке в Compose-Multiplatform проекты, с поддержкой всех основных платформ (Android, iOS, Desktop JVM, Web WASM+JS).

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

На старте написания библиотеки сами собой возникли ряд требований, которым она должна была отвечать:

Читать далее

Мой дашборд

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

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

Я стал думать, как их можно использовать. Хотелось чего-то простого и полезного: показывать информацию и иногда вводить данные. Ничего сложного, просто что-то, что реально будет использоваться. Так появилась идея превратить их в дашборды.

Потом я понял, что для этого нужна веб-часть и мобильное приложение. Сделал веб-приложение на Analog и Android-клиент на Ionic Framework. В разработке активно помогал AI-ассистент из Qoder — он сильно ускорял работу и решал много задач сам.

Проект пока ещё в процессе, но я решил написать о нём пост. Возможно, кому-то пригодятся мои наработки.

Читать далее

Capacitor: от веба к мобильным приложениям. Часть 0. Зачем нужен Capacitor

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

С Новым годом, Хабр. Меня зовут Илья, я работаю Frontend разработчиком в компании Бастион. Январские выходные в самом разгаре, но уже многие, включая меня, наобещав себе свернуть горы в этом году, находятся в поиске полезной для мозга информации. Тогда присаживайтесь поудобнее, ибо сейчас мы будем разговаривать о такой замечательной технологии для разработки гибридных мобильных приложений, как Capacitor.

Читать далее

Flutter, Google, Fuchsia, Zircon, Linux, Starnix, Magma, Microfuchsia, будущее Андроида и других ОС

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

С момента появления загадочного репозитория на GitHub с описанием «Pink + Purple = Fuchsia» прошло десять лет. За это время медиа-пространство успело пережить несколько циклов хайпа: от «Убийцы Android» до «Мертвого проекта Google».

На календаре январь 2026 года. В магазинах нет коробок с надписью «Fuchsia Phone». Однако, если у вас дома стоит Nest Hub второго поколения, вы уже пользуетесь этой ОС. Если вы разработчик под Android, вы, возможно, уже взаимодействуете с её компонентами через виртуализацию.

Fuchsia не умерла. Она совершила то, что в биологии называется метаморфозом. В этой статье мы отбросим маркетинговую шелуху и разберем архитектуру системы "под микроскопом". Поговорим о том, как Google решает фундаментальные проблемы ядра Linux, что такое Starnix на уровне системных вызовов, зачем нужен FIDL и почему 2024–2025 годы стали переломными для проекта, переведя его из стадии R&D в стадию инфраструктурного фундамента.

Читать далее

Fury Messenger: От «семейного чата» до народного мессенджера (или как я перестал спать и начал фиксить баги)

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

Всем привет! На связи снова тот самый парень, которому «коту делать нечего».

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

Но что-то пошло не так... В хорошем смысле!

Я совершенно не ожидал, что моя поделка обретет такую любовь и популярность у абсолютно незнакомых мне людей! Хабр, ты — сила. Огромное спасибо всем энтузиастам, кто ломанулся тестировать приложение. Вы не просто качали APK, вы реально помогали: присылали логи, тыкали носом в баги и писали теплые слова, от которых хочется кодить даже в 4 утра.

Именно благодаря вашему мощному фидбеку проект не заглох, а наоборот — оброс мясом. За последнее время я выкатил пачку обновлений (с версии 0.45 до 0.61), и вот во что превратился наш уютный чатик.

Читать далее

Мир доступного дизайна: как увеличить шрифт и не сломать UI?

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

Сегодня мобильными приложениями активно пользуются не только молодёжь, но и представители старших поколений, количество которых непрерывно растёт (Pew Research Center). Чаще всего именно эти пользователи меняют системный шрифт и настраивают контрастность для комфортного использования. Это влияет не только на пользовательский опыт работы, но ещё и формирует новые потребности в развитии операционных систем Android и iOS.

По данным ресурса Appt, многие люди предпочитают изменять стандартные настройки отображения интерфейса, однако далеко не все разработчики учитывают эту особенность и адаптируют свои интерфейсы под нужды пользователей. Из-за этого возможны ситуации, когда информация, необходимая для совершения критически важных действий (вроде заказа такси или перевода денег) либо вовсе не помещается на экране, либо оказывается расположена неудобно и не соответствует ожиданиям пользователя.

Меня зовут Игорь, я Android-разработчик в Сбере, развиваю проект СберИнвестии в команде «Портфель клиента». Расскажу про наш опыт работы с особыми возможностями Android, как мы к этому пришли, а также на практических примерах покажу улучшения UX нашего приложения. Конечно же, я также расскажу про подводные камни, на которых мы удачно поскользнулись, куда же без этого :).

Читать далее

Планировщики задач для Android: 10 приложений для командной работы и личных дел

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

Привет, Хабр! Меня зовут Майя, я — контент-менеджер и опять пишу обзор про приложения в сфере тайм-менеджмента.

По моим наблюдениям, сегодня большинство людей управляют задачами с телефона, поэтому Android-приложение больше не «дополнение к вебу», а основной рабочий инструмент. На практике многие планировщики к этому не готовы: 

Читать далее

Мобильная разработка за неделю #614 (22 — 28 декабря)

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

Последний дайджест в этому году! От неработающей к тестируемой навигации, тепловизор для разработчика, развитие Swift SDK для Android, инженерия уверенности и многое другое. С наступающим и хороших вам приложений! До встречи в новом году!

🎄Читать

n8n — масштабируем получение SMS и уведомлений с нескольких (десятков) SIM-карт одновременно

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

TL;DR Автор в прошлой статье настроил Telegram-чат, куда несколько смартфонов скидывают пуши с помощью MacroDroid и/или Tasker. Проблема в том, что смартфоны брали на себя слишком много работы. Что, если они будут тонкими клиентами, которые шлют сырые данные на сервер, где уже происходит вся обработка и рассылка? Автор делится workflow и конфигурацией для n8n, которые позволяют это реализовать в режиме "Быстрого старта".

Читать далее

Настройка смартфонов для пересылки SMS и уведомлений в Telegram

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

TL;DR Автор настроил Telegram-чат, куда несколько смартфонов скидывают пуши с помощью MacroDroid и/или Tasker. Пособие, как настроить это максимально просто, частично поберечь батарею и научить это работать в фоновом режиме. Как побочный эффект, вы автоматически таким образом нау́читесь "шарить" симки, карты и учётки себе и другим (только никому!).

Читать далее

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

Blackview Xplore 2 Projector — броневик с аккумулятором 20Ач и… проектором

Время на прочтение9 мин
Охват и читатели12K

Вообще, в моём блоге довольно редко выходят спонсорские материалы. Обычно я соглашаюсь только если гаджет действительно представляет для меня гиковский интерес, и сегодня как раз тот самый случай. Компания Blackview недавно представила свой новый флагманский броне-смартфон из линейки Xplore, который получил не только топовый дисплей и мощное железо, но и... проектор, а также аккумулятор емкостью аж в 20Ач. После трёх недель активного использования в качестве основного устройства, я решил написать свои впечатления. Если вам интересно узнать, что из себя представляет этот диковинный гаджет - прошу под кат!

Читать далее

Почему я перешел на Dagger Components (вместо Dagger Android)

Время на прочтение10 мин
Охват и читатели6.4K

Всем привет, меня зовут Анатолий Спитченко, я Android-разработчик в ПСБ. В этой статье расскажу про свои эксперименты с Dagger. Наткнувшись в проекте на огромный модуль Application (11,5 Мб), я стал искать альтернативы обертке Dagger Android. Поэкспериментировал с продвигаемым Google Dagger Hilt, а также с более старым подходом — Dagger Components. Последний, как ни странно, позволяет немного сократить Application и в целом имеет больше плюсов, чем минусов. Подробности под катом.

Читать далее

Perfetto в Android-разработке: когда профайлера уже недостаточно

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

Perfetto показывает те проблемы с производительностью приложения, которые другой профайлер просто не заметит. И не важно, занят ли процессор системными задачами, когда поток готов работать, или GC блокирует UI на 50 миллисекунд — Perfetto всё подсветит.

Ещё не знаете об этом крутейшем инструменте? Тогда эта статья для вас. Привет! Меня зовут Андрей Гришанов. Расскажу вам, что такое Perfetto и как использовать его максимально эффективно.

Познакомиться с топовым профайлером

Тепловизор для разработчика: подсвечиваем рекомпозиции прямо в коде

Время на прочтение30 мин
Охват и читатели8.2K

Привет, Хабр! Меня зовут Иван Кузнецов, я Android‑разработчик в Кинопоиске. В прошлой статье я научил Jetpack Compose показывать рекомпозиции в реальном времени, но это был скорее учебный стенд: куча модификаторов, обёрток и примеры, которые нужно готовить вручную.

Я хотел чего‑то более полезного: чтобы IDE сама показывала, какие composable‑функции перерисовываются прямо сейчас, а какие скипаются и какие параметры реально меняются. Нажал Run — и редактор превратился в живую тепловую карту UI.

Ради этого пришлось сделать то, чего нормальные люди обычно избегают: залезть под капот Kotlin Compiler Plugin и научиться внедрять код в промежуточное представление на этапе компиляции, разобраться в битовых масках Compose и поднять TCP‑сервер внутри IntelliJ, чтобы запущенное приложение могло стучаться прямо в IDE.

Так появился Riflesso — плагин, который переносит идею Layout Inspector прямо в редактор кода и делает Compose прозрачным. В этой статье я разберу его архитектуру и покажу, как компилятор, клиентская библиотека и плагин IDE собираются в один инструмент.

Читать далее

Как я свой мессенджер делал… или «вы все ещё думаете ставить ли MAX»?

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

Как говорится, когда коту делать нечего - у него яйца блестящие...

В 2025 участились случаи блокировки ...всего интернета?... , в частности популярных мессенджеров, таких как WhatsApp, Telegram, коими я и моя семья привычно пользовались..

Споры по поводу нашумевшего мессенджера MAX не утихают и по сей день...

По привычке, если хочешь что-то сделать хорошо - сделай сам, так решил создать свой мессенджер, с блэкджеком и проститутками, с шифрованным трафиком, не видимым для DPI, голосовыми вызовами, без привязки к номеру телефона и вообще к чему либо, и интерфейсом таким , каким его хотел видеть именно я! ;)

Естественно, разработка будет под Android. Никаких санкционных айфонов в этом рассказе!

Разработка началась с создания протокола взаимодействия, тут все стандартно, вычисляется общий для сессии ключ AES, НО потом это все ещё оборачивается в кастомное изощерение, с добавлением мусора и обертыванием всего трафика, таким образом пакеты данных выглядят для любой системы DPI как мусор, нет никаких повторяющихся или идентификационных моментов, за которые можно зацепиться.

Дальше была разработка самой технической части: список контактов, отправка сообщений.
Вау, это заработало!

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

Читать далее

Мобильная разработка за неделю #613 (15 — 21 декабря)

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

В новом дайджесте последствия уменьшения приложений и новый шаг в передаче зависимостей Swift, улучшение доступности в Android-приложениях и перформанс, лёгкий и быстрый DI-контейнер, Offline-First приложения, ускорение загрузки экрана, больше рекламы в App Store и многое другое. Заходите!

Читать далее

От ощущений к цифрам: как мы внедрили метрики перформанса в андроид приложение

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

Всем привет! Меня зовут Тимур, я платформенный Android-разработчик с опытом 5+ лет в ритейле и e-com.

В этой статье разберём, почему перформанс на мобильных устройствах это не ощущения, а фактор, который влияет на конверсию и GMV. Покажу, какие метрики имеет смысл собирать на клиенте, как их мониторить, и приведу примеры кода для Android.

Присаживайтесь, наливайте чай/кофе — поехали.

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