Как стать автором
Обновить
147.29

Разработка под Android *

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

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

Разработка под Android в 2024 году

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

Эта статья отражает моё личное мнение и профессиональные взгляды, учитывающие различные точки зрения в сообществе Android-разработчиков. Кроме того, я регулярно просматриваю руководства от Google для Android.

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

Читать далее
Всего голосов 10: ↑10 и ↓0 +10
Комментарии 5

Новости

Мобильная разработка за неделю #530 (11 — 17 марта)

Время на прочтение 5 мин
Количество просмотров 758
В нашем новом дайджесте моменты неотзывчивости и автоматизация рутины, правила линтера и легендарный мобильный GPU, как и где практиковаться начинающему мобильному разработчику, исследование приложений с подпиской 2024 и многое другое. Подключайтесь!

Подписывайтесь на наш Telegram-канал Mobile Insights, где еще больше материалов для мобильных разработчиков. А в IT Insights — много об интересном коде и технологиях.

Читать дальше →
Всего голосов 5: ↑5 и ↓0 +5
Комментарии 0

Ликбез по вложенной прокрутке в Jetpack Compose

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

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

Читать далее
Всего голосов 5: ↑5 и ↓0 +5
Комментарии 0

Vivaldi для Android с настраиваемыми обоями

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

Ваш браузер должен быть таким же уникальным, как и вы. Обновите Vivaldi 6.6 и выразите свою индивидуальность с помощью стартовой страницы, которая действительно станет вашей.

Читать далее
Всего голосов 4: ↑4 и ↓0 +4
Комментарии 17

Истории

Drag and Drop в Jetpack Compose

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

В январе 2024, крупное обновление Jetpack Compose добавило два новых модификатора: dragAndDropSource и dragAndDropTarget. В этой статье я расскажу как реализовать эффект Drag and Drop в Jetpack Compose.

Читать далее
Всего голосов 2: ↑2 и ↓0 +2
Комментарии 0

Как и где практиковаться начинающему мобильному разработчику

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

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

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

Читать далее
Всего голосов 14: ↑11 и ↓3 +8
Комментарии 1

Fastlane для Android разработчиков

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

Рост команды требует большего вовлечения в процессы и договорённости, которые, в свою очередь, требуют автоматизации и инспекции. Можно взять bash‑скрипты и закрыть ими эту потребность, но насколько это будет удобно? Тут нужен инструмент, который упростит разработку и будет поддерживать команду в будущем. Сегодня расскажу про один из таких инструментов — Fastlane — и его возможности.

Статья будет полезна для ознакомления с Fastlane, тем, кто ищет решения для разработки автоматизации или рассматривает альтернативные решения по автоматизации сборок и процессов внутри компании. Для наглядности все примеры запускаются локально, это же решение можно перенести на CI/CD (Gitlab, Jenkins, Github Actions и тп).

Читать далее
Всего голосов 6: ↑6 и ↓0 +6
Комментарии 0

Автоматизируем рутину в Android разработке: плагин для создания шаблонного кода на примере создания -api -impl модулей

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

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

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

Также мы привыкли автоматизировать свою собственную работу. Инструменты CI/CD позволяют быстрее доставлять ценность клиентам, чем ручное развертывание, линты помогают уменьшить время, которое мы тратим на прохождение задачи код ревью. 

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

Читать далее
Всего голосов 25: ↑25 и ↓0 +25
Комментарии 5

Кот в мешке: мастерство обработки ошибок внешних ключей SQLite

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

Сталкивались с загадочными ошибками Foreign Key в SQLite для Android?

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

Читать далее
Всего голосов 11: ↑11 и ↓0 +11
Комментарии 6

Android-приложение на Compose с нуля: Часть 2 (UI)

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

Здравствуй, дорогой читатель!

В статье рассматривается поэтапная разработка дизайн-системы и UI для Android-приложения "Калькулятор", используя библиотеку Jetpack Compose. Начнём с создания проекта и закончим запуском приложения на эмуляторе.

Ссылка на репозиторий

Читать далее
Всего голосов 12: ↑10 и ↓2 +8
Комментарии 0

KatWalk C2: ч2, подслушаем, подсмотрим и разнюхаем или как общаться с незнакомым железом на незнакомом языке

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

В прошлой статье я рассказал что это за платформа, и показал как можно получить данные с неё и как встроить код в стороннее приложение.

Однако, получение данных требует постоянно висящего приложения (на C#), и надо понять что же конкретно оно делает.

Давайте разберёмся как общаться с железом и избавимся от балласта!.. Переписав на Kotlin. Почему Kotlin? Потому что я на нем никогда еще не писал.

Погружаемся
Всего голосов 1: ↑1 и ↓0 +1
Комментарии 4

Мобильная разработка за неделю #529 (4 — 10 марта)

Время на прочтение 4 мин
Количество просмотров 1.1K
В новой еженедельной подборке виджеты и изоляция в iOS, адаптация UI/UX для людей с проблемами зрения, сложно ли быть программистом-инженером сейчас, весенние выпуски маркетологов в мобайле и многое другое. Подключайтесь!

Подписывайтесь на наш Telegram-канал Mobile Insights, где еще больше материалов для мобильных разработчиков. А в IT Insights — много об интересном коде и технологиях.

Читать дальше →
Всего голосов 4: ↑4 и ↓0 +4
Комментарии 0

Рисуем эффект «Таноса» на Android (и не только)

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

Привет! Вопрос мобильным разработчикам: часто ли вам приходится работать с необычным UI? Если вы ответили утвердительно, то я по-доброму вам завидую. В своей повседневной практике мне в основном приходится работать со стандартным набором компонентов и их базовой настройкой. Абсолютно ничего не имею против, но хочется чего-то «эдакого»: кастомных компонентов, написанных с нуля, необычных анимаций и эффектов. Часто подобные вещи вызывают много споров (как среди разработчиков, так и конечных пользователей) а-ля «А на кой оно вообще надо», но лично для меня это ни что иное, как творчество. Кто-то красиво рисует, кто-то красиво поёт, а кто-то пишет красивые уникальные приложения, которыми интересно и приятно пользоваться. И мы, пожалуй, не можем обвинять авторов за бессмысленность «украшательств», как по-хорошему не можем судить художника за его работу.

К чему я – спросите вы. Я отвечу: настраиваю на нужный лад :) В рамках этой статьи мы коснёмся полезной темы и создадим что-то бесполезное в практическом смысле, но несомненно интересное и достаточно уникальное.

Уже интересно
Всего голосов 23: ↑23 и ↓0 +23
Комментарии 9

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

Московский туристический хакатон
Дата 23 марта – 7 апреля
Место
Москва Онлайн

Внедрение библиотеки навигации Modo в многомодульный Compose проект

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

Часто, когда мы начинаем работать в многомодульном проекте, то часто приходится искать решения для проблем, которые уже решены для мономодульного проекта. И если возникают вопросы с навигацией, ситуация становится еще более интересной. Как один из вариантов решения этой проблемы, можно ознакомиться с применением библиотеки Modo в многомодульном проекте.

Читать далее
Всего голосов 4: ↑4 и ↓0 +4
Комментарии 0

Из Windows 11 неожиданно убирают Windows Subsystem for Android. Что происходит и почему?

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

Не так давно на Хабре публиковались оптимистичные новости относительно интеграции Windows Subsystem for Android (WSA) в операционную систему Windows. В частности, говорилось, что в Windows Store стали доступны Android-приложения, которые можно запустить на устройстве под управлением Windows 11.

Всё бы ничего, но теперь стало известно о том, что Microsoft решила вернуться в прошлое и убрать этот компонент. Правда, не сразу, а лишь 5 марта 2025 года — получается, ровно через год после появления новости. Но есть и другая неожиданность — приложение Amazon Appstore, которое даёт возможность устанавливать и запускать софт под Android, уберут уже… вчера. То есть убрали. О том, что происходит и почему, поговорим под катом.

Читать далее
Всего голосов 30: ↑21 и ↓9 +12
Комментарии 11

Android-приложение на Compose с нуля: Часть 1 (Прототипирование)

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

Здравствуй, дорогой читатель!

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

Читать далее
Всего голосов 3: ↑2 и ↓1 +1
Комментарии 21

Emcee — тест-раннер для запуска автотестов на Android и iOS: как работает, и какие проблемы помогает решить

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

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

Читать далее
Всего голосов 11: ↑11 и ↓0 +11
Комментарии 4

Проводим и проходим собеседование по системному дизайну

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

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

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

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

Читать далее
Всего голосов 23: ↑19 и ↓4 +15
Комментарии 0

Как увеличить шрифт так, чтобы контейнер не поехал? Адаптация UI/UX для людей с проблемами зрения в XML и Compose

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

Я — Денис, Android-разработчик в «Лайв Тайпинге». В этой статье я продолжу рассказывать о современных подходах разработки адаптивного UI /UX для людей с ограниченными возможностями, разных национальностей и особенностями развития. В этой статьей я расскажу про разработку интерфейсов в XML и Compose для варьирующего размера шрифта. А также покажу почему атрибут contentDescription так важен.

Читать далее
Всего голосов 12: ↑12 и ↓0 +12
Комментарии 3

Что это за устройство у меня в комнате?

Уровень сложности Средний
Время на прочтение 13 мин
Количество просмотров 47K
Примерно год назад я переехал в новую квартиру. Одной из причин её выбора стал возраст здания. Строить его закончили в 2015 году, что гарантировало неплохую теплоизоляцию на зиму, а также кучу приятных мелочей наподобие Ethernet-разъёмов в каждой комнате. Однако в квартире обнаружилась одна деталь, слишком новая и умная для меня. Вот эта:


Очевидно, что это некий сенсорный экран, но не было никаких указаний на то, чем он управляет. Арендодатель понятия не имел, что это. На устройстве не было ни кнопок, ни надписей, лишь крошечный жёлтый огонёк, дающий понять, что у него есть питание.
Читать дальше →
Всего голосов 143: ↑140 и ↓3 +137
Комментарии 127

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

Работа