Обновить
186.79

Android *

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

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

Незаметное ограничение Android 15

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

Сейчас Android 15 активно появляется у пользователей. И, как мне кажется, одна его особенность для многих могла остаться незамеченной и даже в документации в описании behavior-changes она в конце, а в Features and Changes list и вовсе забыта.

Читать далее

Настраиваем CI/CD Android-проекта, часть 2. Запуск Android-тестов

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

Всем привет, меня зовут Кирилл и я Android-разработчик в Scanny.

В прошлой статье, мы описали то, как будет выглядеть наш CI/CD, научились запускать статический анализатор кода, выполнять Unit-тестирование, собирать различные Build Flavors и отправлять их в нашу Telegram-группу.

В этой статье я покажу, как можно подключить и запустить Android-тесты в рамках CI/CD на примере Marathon Labs и Firebase Test Lab.

Читать далее

Функциональное программирование в Android. Cтруктуры данных и State Machine

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

Продолжаем погружение в мир функционального программирования! Тема новой статьи — функциональные типы данных и их структуры. Из неё вы узнаете о принципе неизменности данных, о понятии State Machine и о способах его применения в программировании.

А ещё мы исследуем функциональную библиотеку Kotlin Arrow, обсудим поддержку Null, поток данных и функциональную обработку ошибок, а также начнём проектировать Data и Domain слои демонстрационного приложения. В общем, скучать не придётся!

Читать далее

Лаборатория в смартфоне: изучаем эффект Доплера на палочках в Android

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

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

Статья предназначена для девочек и мальчиков, а также их родителей.

Плывём по волнам!

AIDL в React Native в 2025 году

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

Всех приветствую. Сегодня хочу с вами поделиться и разобрать малоизвестную, но очень сильную технологию взаимодействия двух приложений на одном устройстве.

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

Читать далее

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

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров1.4K
В новом дайджесте использование Foundation Models и обновления UIKit/SwiftUI по следам WWDC, трудности обслуживания приложений под Android и ускорение карьеры в IT, автомобильный компьютер с нескучным функционалом, стеклянный фасад Apple и многое другое. Заходите!

Читать дальше →

Пишем 3D-игру весом в 600Кб…

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

...которая работает на первом Android-смартфоне в мире, ретро-компьютерах из 90-х и даже Mac'ах! Часть 1.

Иногда у меня лежит душа просто взять и написать какую-нибудь небольшую игрушку с нуля, без использования готовых движков. В процессе разработки я ставлю перед собой интересные задачки: игра должна весить как можно меньше, работать на как можно большем числе платформ и использовать нетипичный для меня архитектурный паттерн. Недавно я написал трёхмерные «танчики», которые весят всего лишь 600 килобайт и в рамках подробной статьи готов рассказать о всех деталях разработки трёхмерной игры с нуля в 2025 году. Если вам интересно узнать, как работают небольшие 3D-демки «под капотом» от написания фреймворка до разработки геймплея — жду вас под катом!

Читать далее

Трудности обслуживания приложений под Android

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

Недавно наткнулся на новость о том, что количество приложений в Google Play Store сократилось на 47%.

Я сам энтузиаст разработки под Android и последние 5 лет работал над альтернативой для Google Play Music и Podcast под названием MusicSync. Так что, будучи близким к теме человеком, мне захотелось поделиться своим опытом обслуживания приложений и заодно пояснить, почему меня эта новость нисколько не удивила.

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

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

Читать далее

Вы увеличите органические установки, нужно всего лишь…

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

Если вы активно работаете с консолями разработчика Google Play и App Store, вам нужно это знать! Без лишних слов: рандомная подборка неочевидных вещей в сторах и не только, которые сделают метрики лучше, жизнь проще, а работу веселее.

Читать далее

Не хотите поговорить о Kotlin Contracts?

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

Привет! Меня зовут Виталий. Я — Android‑разработчик в Альфа‑Банке. За время собеседований я заметил одну любопытную вещь: даже опытные котлиноводы частенько не в курсе такой мощной фичи, как Kotlin Contracts.

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

Всё максимально честно, с живыми иллюстрациями и практическими советами. Даже если раньше вы смотрели на Contracts как на тайный клуб для избранных — после этой статьи они перестанут быть чем‑то пугающим.

Читать далее

PWA vs сторы: что делать, если нужно вернуться в App Store и Google Play?

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

Как упаковать веб-приложение в нативную обёртку, пройти модерацию и снова стать доступным в App Store и Google Play — без дублирования разработки.

Летим читать

Функциональное программирование в Android. Знакомство с парадигмой

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

Расширяем кругозор. Слышали про парадигму функционального программирования? Если вы iOS-разработчик, то, наверное, да, а если вы Android-разработчик, то, скорее всего, нет. Пришло время это исправить.

Привет! Меня зовут Женя Бондарев. И сегодня мы поговорим о теории функционального программирования, её особенностях и о том, что она может дать вашему Android-приложению. А ещё начнём писать pet-проект на функциональной архитектуре. Поехали!

Читать далее

Как правильно считать шаги на Android: полное руководство для разработчика от сенсоров до Health Connect

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

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

Читать далее

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

Я обогнал Google?

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

Заголовок "Я обогнал Google?" — не просто кликбейт. Столкнувшись с неудобствами и большим количеством бойлерплейта в Jetpack Navigation на реальном проекте, я задался вопросом: а можно ли сделать лучше? В этой статье я шаг за шагом показываю свой путь: от ручных extension-функций до создания собственной библиотеки на KSP, которая генерирует типобезопасные классы для навигации, упрощает передачу аргументов и добавляет удобные фичи.

Читать далее

Google AI Edge Gallery: локальный ИИ прямо на смартфоне — без облака, без интернета

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

Тест-драйв локального искусственного интеллекта, который работает даже в авиарежиме. И умеет распознавать списки покупок.

Google тихонько выкатил AI Edge Gallery — экспериментальное Android-приложение, которое позволяет запускать ИИ-модели прямо на смартфоне, без интернета и всяких VPN. Всё крутится локально, на вашем устройстве. Модели подтягиваются с Hugging Face (например, Gemma от Google - "младшая сестра" Gemini) и работают либо на CPU, либо на GPU — в зависимости от того, насколько сильно вы готовы разогревать свой телефон.

Читать далее

Настраиваем CI/CD Android-проекта, часть 1. Начало

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

Всем привет, меня зовут Кирилл и я Android-разработчик в Scanny.

Это первая часть из серии статей про CI/CD для Android-проекта. В рамках данной серии статей я расскажу как настраивать GitLab CI/CD, который покроет базовые потребности в Unit и Android-тестировании, сборке приложения, публикации в Play Market и многом другом.

Дополнительно я разберу работу с разными инструментами для Android-тестирования в лице Marathon Labs и Firebase Test Lab. Аналогично разберу работу с Gradle Play Publisher и Fastlane для публикации приложения в Play Market.

Читать далее

Как оптимизировать сетевые запросы в Android: OkHttp и Retrofit с Coroutines

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

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

Расскажем, как использовать библиотеки OkHttp и Retrofit — инструменты, ставшие стандартом де-факто в Android-разработке, — для построения надёжной и быстрой сетевой прослойки. Статья ориентирована на мобильных разработчиков, особенно тех, кто работает с Kotlin и Coroutines.

Читать далее

Повторяю стекломорфизм в Android на AGSL шейдерах (лучше бы я этого не делал)

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

Повторяю стекломорфизм в Android на AGSL шейдерах (лучше бы я этого не делал)

Изображение... искажения... размытие... о чём вы подумали? Первое, что приходит в голову – ✨ ШЕЙДЕРЫ ✨

Читать далее

Почему Android не может использовать CDC Ethernet

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

Если вам просто нужен ответ на вопрос в заголовке, то просто нажмите на TLDR и можете закрыть страницу. Но если вам любопытны подробности, то пристегнитесь, мы займёмся отладкой; этот пост в основном посвящён моему мыслительному процессу и методикам, которые я использовал, чтобы прийти к ответу.

Читать далее

Рекомендации по Jetpack Compose: от основ к масштабируемым UI

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

Всем привет!

В этой статье мы будем обсуждать, как писать масштабируемые и поддерживаемые интерфейсы на Jetpack Compose: от базовых компонентов до архитектурных практик. Разбираем иерархию, принципы проектирования, naming, порядок параметров и антипаттерны.

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

Читать далее