Как стать автором
Поиск
Написать публикацию
Обновить
107.67

Android *

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

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

Kick: Kotlin Inspection & Control Kit — единый модульный инструмент отладки прямо в приложении

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров199

При разработке и тестировании приложений порой требуется заглянуть под капот - проанализировать HTTP-трафик или проверить кэш данных в базе данных. Ранее для этих целей мы использовали Inspektify и Delight SQL Viewer. Но в какой-то момент нам понадобился еще и удобный доступ к логам приложения и тащить ещё одно отдельнее решение не хотелось. Был нужен один инструмент, который объединит всё самое необходимое в одном месте. Так появился Kick — расширяемый модульный набор инструментов, позволяющий разработчикам и тестировщикам легко инспектировать приложение.

Читать далее

Новости

Будущее, которое (не) наступило: мобильный VR и AR

Время на прочтение4 мин
Количество просмотров1.9K

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

Читать далее

Swipe to Pay, или Как мы переписали слайдер оплаты на Compose

Уровень сложностиСредний
Время на прочтение20 мин
Количество просмотров1.2K

В Дринкит был анимированный компонент на MotionLayout — слайдер быстрой оплаты в меню. Его и сейчас можно увидеть, когда вы добавляете продукты в корзину. Проведя по нему, вы оплатите заказ, а тапнув — перейдёте к покупкам.

Так почему «был»? У компонента накопилось немало багов, а самому слайдеру понадобился новый функционал. Реализовать его на MotionLayout было сложно, так что мы решили переписать компонент на Compose.

Привет! Меня зовут Дима Максимов, я — Android-разработчик. В этой статье я расскажу, почему на Compose проще пилить масштабируемые компоненты, разобрав процесс во всех деталях, покажу код и его реализацию в интерфейсе.

Читать далее

Android vs iOS: кто победит в гонке ИИ и мобильных технологий?

Время на прочтение4 мин
Количество просмотров992

Бум ИИ заставил техногигантов стремиться быстрее конкурентов внедрять инновации. Apple и Google, владеющие мобильными операционными системами iOS и Android, активно интегрируют собственные решения. Это платформа искусственного интеллекта Apple Intelligence и чат-бот c искусственным интеллектом Gemini. В настоящее время Google успешнее развивает ИИ-технологии. Однако поможет ли Google это преимущество обойти Apple на рынке мобильных устройств, особенно в США, где большинство пользователей предпочитает гаджеты «яблочной корпорации»? Вопрос остается открытым.

Читать далее

Государственный мессенджер по-корейски: контроль, удобство или провал? Национальный мессенджер Южной Кореи, обзор

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

KakaoTalk выступает в роли универсальной платформы для рассылки официальных уведомлений от государственных структур Южной Кореи. За этим стоит сложная техническая архитектура, объединяющая бизнес-API, webhook-интеграции и масштабируемую серверную инфраструктуру. Всё это позволяет органам власти отправлять различные типы сообщений гражданам - быстро, безопасно и с учётом законодательных требований.

Читать далее

Мобильная разработка за неделю #596 (28 июля — 3 августа)

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров901

В этом выпуске чайник в Metal и работа с телевизионными каналами на Android, результаты опроса разработчиков Stack Overflow 2025 и какие маркетинговые каналы действительно работают, под капотом Android, процессы отладки, нейросеть у себя на компьютере и многое другое. Заходите!

Читать далее

Простая минификация Json тел запросов / ответов с Kotlin Serialization

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

Привет!

Недавно в рамках одного из проектов на стеке KMP, Ktor и Kotlin Serialization мы с командой решили провести эксперимент и определить возможность и целесобразность минификации тел запросов / ответов на Json.

Да, мы знаем про GraphQL, Protobuf и др., но в нашем случае имел место необузданный интерес наколхозить такое решение. И при всей его наивности удалось сократить средний размер итоговых джсонов (после всех внутренних оптимизаций) на 15-20%.

Читать далее

Функциональное программирование в Android. Побочные эффекты и ELM-архитектура

Уровень сложностиСредний
Время на прочтение24 мин
Количество просмотров1.3K

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

Практиковаться будем не на ViewModel, а на The Elm Architecture — это паттерн управления состоянием, заимствованный из функционального языка Elm. Заодно узнаем об этом паттерне побольше, разобрав суть его ключевых компонентов. В общем, погнали!

Читать далее

Под капотом Android: как создаются, управляются и восстанавливаются процессы приложений в системе

Уровень сложностиСредний
Время на прочтение10 мин
Количество просмотров3.9K

Эта статья родилась из практической задачи — понять, как устроен Android в общем и целом, как он сохраняет и восстанавливает состояния приложения (помимо БД и файлов) при внезапном завершении процесса, как управляет процессами.

Я разберу ключевые системные компоненты (Zygote, SystemServer, AMS, Binder) и процесс восстановления состояния через Bundle.

Привет, Хабр! Я Михаил Богатиков, Android‑разработчик в ПСБ.
На одном из собеседований мне задали вопрос, про восстановление приложения после смерти, на который я не смог ответить. Мне стало интересно и я решил изучить этот вопрос и в результате появилась эта статья.

Читать далее

Работа с телевизионными каналами на Android TV: учимся использовать TIF в 2025. Стартовый гайд для разработчиков

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

Всем привет! Меня зовут Андрей Юрин, я android-разработчик в онлайн-кинотеатре KION. При создании приложения под Android TV у вас наверняка могут возникнуть вопросы: как получить доступ к списку телевизионных каналов и как организовать у себя трансляцию? В этом материале я отвечу на них и расскажу про взаимодействие с телевизором с помощью Android TV Input Framework (TIF), а также получение через него списка доступных каналов. По сути это первый шаг к созданию полноценного TV-приложения.

Читать далее

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

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

В новом дайджесте рассказ последнего UIKit-разработчика и погружение в разработку плагинов для Android Studio, дизайн киты iOS и iPadOS 26 и зачем нужен Navigation 3, автоматизация тестирования, TikTok для роста, ИИ, который удалил производственную базу данных пользователя, и многое другое. Заходите!

Читать далее

Необычный гиковский девайс: как китайский стартап сделал планшет с тремя ОС одновременно

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

Пожалуй, все мы с вами любим диковинные гаджеты из 2000-х годов, когда производители всё ещё пытались удивить пользователя некой изюминкой. Таким необычным устройством был и предок современных планшетов — MID SmartQ V7, где за цену в 150$, производитель предлагал неплохое железо, приятный дисплей и целых три предустановленных операционных системы!

Что было «под капотом» у первых планшетов и что умел «дедушка» современного iPad с Android, Ubuntu и Windows CE «на борту» — читайте в сегодняшней подробной статье!

Читать далее

Githab CLI и Github Actions на страже вайб кодинга с мобильными агентами Cursor

Уровень сложностиСредний
Время на прочтение22 мин
Количество просмотров1.9K

В этой статье, я расскажу, про опыт работы с агентами Cursor, github actions и великолепный Github Cli. Статья не претендует на истину и является частным практическим опытом.

Вступление

Лето. Время отпусков. Делать не фиг.

Можно залипать в рилсах или сериальчиках на пляже, но зачем, если можно создать что-то прикольное с мобильниого телефона, с помощью агентов. А конкретно, с помощью https://cursor.com/agents (стоит 20 баксов в месяц https://docs.cursor.com/account/pricing или 3к рублей в год, если немного поискать).

Итак, создаем репозиторий (В моем случае github.com/RobotAvi/MoneyGame) или берем готовый. Даем задачу агенту.

Читать далее

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

PWA и WebView — как сделать ваше веб-приложение доступным в офлайн-режиме

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

Привет! Меня зовут Алексей Егоров. Сегодня поговорим про офлайн-режим в PWA и WebView, без лишней теории и с прицелом на мобильные приложения. В разработке я уже больше трёх лет, большую часть этого времени посвятил WebView и мобильным решениям. В этом материале мы разберём, как работают PWA и WebView в офлайн-режиме, посмотрим на инструменты, которые помогают реализовать такую функциональность, и в завершении я поделюсь примером: какую технологию мы выбрали для календаря и как внедрили офлайн-режим на практике.

Читать далее

Mobile System Design. Проектируем новостную ленту

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

Элементы System Design уже прочно вошли в процесс собеседований. Однако в мобильной разработке довольно часто возникает недопонимание что же все-таки необходимо продемонстрировать чтобы получить заветный офер. В этой статье я разберу один из кейсов, который может встретиться на реальном собеседовании и кроме этого покажу примерный сценарий такого интервью. Данная статья будет интересна мобильным разработчикам, как Android, так и iOS. Сам формат System Design Interview я разбирал в предыдущей статье. Здесь же мы сконцентрируемся на практике.

Итак, задача: спроектировать новостную ленту. 

Читать далее

Погружение в разработку плагинов для Android Studio

Уровень сложностиСредний
Время на прочтение11 мин
Количество просмотров1.5K

В одной из прошлых статей было рассказано, как начать разработку собственного плагина для Android Studio (или IntelliJ Idea). В этой статье окунёмся немного глубже и создадим более сложные и, хочется верить, ещё более полезные инструменты для повседневной работы в IDE.

Рассмотрим разработку плагинов для IntelliJ Idea и Android Studio на нескольких нетипичных, но простых и боевых задачах. Будет много полезных ссылок, пояснений и несколько примеров с кодом.

Читать далее

Geely и ECARX, что с вами не так?

Уровень сложностиСредний
Время на прочтение23 мин
Количество просмотров11K

Периодически читая Хабр, я еще не находил статей, описывающих внутренний мир штатных головных устройств (далее — ГУ) на базе Android, хотя я уверен, что не только мне было бы интересно, как там всё устроено и работает. Речь пойдет про одни из самых популярных авто на нашем рынке: Geely Coolray и частично Geely Tugella.

Эта статья обещает быть длинной с вырезками кода из JADX и не только, добро пожаловать под кат.

Читать далее

Что общего у Silent Hill и сервиса доставки?

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

Когда‑то давным‑давно, аж в далёком 2002 году, мы с другом проходили первую часть Silent Hill на первой PlayStation. В этом месте могли бы быть слова восторга и трепета от атмосферы, саспиенса, сюжета и музыки моего любимого Акиры Ямаоки, но сегодня мой пост не про это.

Полностью игру нам тогда пройти не удалось... И не потому что она была сложная или страшная. Нет‑нет. Потому что там была корявая локализация. Те, кто играл в видео‑игры в конце 90-х и начале 00-х должны помнить «замечательные» переводы от Фаргус с их слоганом‑издевательством «только качественные переводы». И если по сюжету всё было более‑менее понятно, то с головоломками, где важны нюансы, была полная беда. И если на экране был виден текст оригинального письма, записки, таблички, то знание английского спасало (хотя тогда он был у меня так себе). А поменять язык полностью нельзя было. В итоге мы упёрлись в ряд квестов, которые решить было нереально, так как текст перевода был и кривой, и битый. Walkthrough тогда не было, поэтому игра так и осталась незавершённой где‑то на 95%.

К чему эти мемуары? Прошло больше 20 лет, но что‑то я сталкиваюсь с похожими парадоксами и по сей день. И это не игры, а мобильные приложения крупных международных компаний. Дабы быть local‑friendly, разработчики делают автоматическую локализацию приложений в соответствии с регионом или системными настройками смартфона. В итоге это выглядит иногда кринжово, иногда смешно, но чаще очень раздражающе, когда надо воспользоваться сервисом, а там «утюг для корочек парашюта». И речь идёт не про автоматическую локализацию каталогов, как у «алика» например, а даже про какие‑то базовые фичи. И вишенка на торте — язык вручную поменять нельзя.

Читать далее

«Open Tracker: как разработать Android-приложение для автоматического трекинга коммерческих представителей. Часть 2»

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

Во второй части статьи рассматривается реализация пользовательского интерфейса Android‑приложения Open Tracker для автоматического трекинга коммерческих представителей. Основное внимание уделено минималистичному дизайну, работе с системными разрешениями и механизму передачи данных между фоновым сервисом и UI. Описаны три ключевых экрана (OverView, Log, Settings), а также особенности их взаимодействия с ядром приложения. Статья будет полезна разработчикам, создающим аналогичные решения с использованием Jetpack Compose, StateFlow и современных архитектурных подходов.

Читать далее

«Open Tracker: как разработать Android-приложение для автоматического трекинга коммерческих представителей. Часть 1»

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

Эта статья посвящена созданию Android-приложения для решения практической задачи — отслеживания местоположения коммерческих представителей в полевых условиях. Статья может быть полезна широкому кругу Android-разработчиков как с точки зрения использования готового решения, так и с точки зрения реализации отдельных компонентов приложения для применения в своих проектах.

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

Вклад авторов