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

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

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

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

Что на неделе: отечественный ответ PS, ИИ-обманщик и сервис знакомств на блокчейн

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

Всем привет! На связи Олег Малахов из AGIMA, и это моя подборка новостей из мира Digital за последнюю неделю.

Итак, субъективно интересные новости с 15 по 22 июня.

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

Новости

Что нового в безопасности пользователей на Android: доклад с Google I/O 2024

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

Привет, меня зовут Аня, и я Android-разработчица в KTS. В этой статье разберем, какие обновления для обеспечения безопасности пользователей были представлены в докладе Safeguarding user security on Android на Google I/O, и как они отразятся на разработке.

Немного вводных по 2023 году:

– к публикации не допущено более 2 миллионов приложений, нарушающих правила;

– забанено примерно 330 тысяч плохих аккаунтов;

– каждый день сканировалось около 200 миллиардов приложений в поисках вредоносного ПО;

–  более 10 миллионов долларов выплачено в качестве награды за обнаружение ошибок в безопасности.

И это еще не все. Благодаря Google Play Protect обнаружено более 500 тысяч вредоносных приложений и вынесено более 3 миллионов предупреждений.

Google Play Protect может предложить просканировать приложения во время установки, если они не были проверены до этого. Это помогает Google намного быстрее отслеживать угрозы безопасности. 

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

Как в 2024 выложить приложение в Apple Store и Google Play

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

Публикация приложений в сторах сейчас непростой процесс. Из-за санкций появилось много неизвестности с регистрацией и оплатой аккаунтов. При этом информация о том, как решить те или иные проблемы в этом процессе, которая есть в интернете, противоречива. Так как я этот процесс недавно успешно прошел, делюсь инструкцией, как в 2024 выложить приложение в App Store и Google Play.

Я занимаюсь мобильной разработкой начиная с 2015 года, прошел путь от рядового разработчика до позиции Technical Product Owner в компании Выберу.ру.  Для меня процесс регистрации в сторах — это типовая задача, но санкции добавили несколько нюансов. Эта статья представляет роадмап по публикации приложения с советами и рекомендациями для ускорения этого процесса.

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

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

Время на прочтение4 мин
Количество просмотров1.1K
В очередной подборке оцениваем результаты WWDC и Apple Intelligence, тащим GeckoView в Почту и оцениваем ошибки ChatGPT, рассказываем про самые скачиваемые и зарабатывающие приложения в России в мае 2024, ломаем бинарный код и многое другое. Подключайтесь!

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

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

Истории

Дроиды и питоны: работаем с ADB на Python

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

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

И вот, тогда я узнал об одной прекрасной утилите - Android Debug Bridge, ADB. Прекрасный инструмент для работы с Android - подключил телефон, и занимайся чем хочешь. Но иногда так лень запоминать разные команды, вводить их каждый раз... Вот здесь на помощь приходит Python. Прекрасный язык с большими возможностями.

В этой статье я рассмотрю как работать с ADB через python.

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

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

Мастер карт или как объединить Google и Яндекс карты в Android

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

Интеграция различных геосервисов в проект может быть сложной задачей, особенно когда требуется поддержка нескольких провайдеров одновременно. Наиболее популярные провайдеры карт, такие как Google Maps и Яндекс.Карты, предлагают различные API и функциональные возможности, что может привести к ряду проблем при создании абстракции для работы с ними.

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

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

Android: Проблема отрисовки в jetpack compose

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

Привет всем! Хочу поделится одной интересной проблемой (и ее решением), с которой пришлось столкнуться при использовании jetpack compose.

Я пишу с нуля программу аренды велосипедов. Соответственно могу использовать современные frameworks и стараться сделать все по феншую :)

Для UI я выбрал jetpack compose и использую MVI для взаимодействия между UI и ViewModel.

Во ViewModel, отвечающую за взаимодействие с Yandex Map, приходят разные события: если клиент двигает карту, с сервера запрашивается информация о находящихся в этом месте велосипедах, 2-х видах парковок и медленных зонах. Кроме того периодически с сервера запрашивается информация об активной аренде клиентом велосипеда. Все эти данные асинхронно передаются на UI.

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

Настраиваем Lock Task Mode aka Kiosk Mode

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

Привет! Меня зовут Максим Мищенко и я Android-разработчик в компании Effective.
В этой статье я расскажу, что такое Lock Task Mode и как его реализовать.

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

Как и зачем мы затащили GeckoView в Почту

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

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

А теперь обо всём в подробностях и с кодом
Всего голосов 49: ↑49 и ↓0+55
Комментарии4

Как сломать скомпилированный код, не нарушая бинарную совместимость

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

Привет! Я Антон, Android-разработчик в команде Т-Бизнеса. Занимаюсь интеграцией нескольких наших внутренних SDK в приложение и иногда участвую в их разработке.

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

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

Как создать аудиоплеер. Часть 3. Настройка приложения с аудиоплеером и обработка звука

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

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

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

Как мы разобрали монолитное приложение для бизнеса на модули

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

Привет, Хабр! Я Анатолий, главный инженер-программист разработки мобильных приложений в ПСБ. В этой статье делюсь опытом миграции крупного монолитного приложения «Мой Бизнес» на модули. Расскажу все ключевые моменты, и с какими сложностями мы столкнулись на этом пути.

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

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

Время на прочтение4 мин
Количество просмотров1.8K
В нашем новом выпуске исследуем рынок работы для iOS-разработчиков, использование ИИ и кроличьи норы оптимизации, погружаемся в мир Lint-a, строим BDUI, определяем рынок мобильных приложений в 1 квартале 2024 года и многое другое. Подключайтесь!

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

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

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

AdIndex City Conference 2024
Дата26 июня
Время09:30
Место
Москва
Summer Merge
Дата28 – 30 июня
Время11:00
Место
Ульяновская область

Сам себе экосистема: итоги. Как работают мои самопальные клиенты ВК, YouTube, Telegram на смартфонах 13-летней давности

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

Рубрика «сам себе экосистема» уже успела стать постоянной в моем блоге. Для тех, кто читает меня в первый раз, расскажу: одним из основных направлений блога всегда был моддинг и попытка использования устройств прошлых лет в современных реалиях. Именно поэтому я пишу клиенты нужных мне сервисов с нуля, дабы иметь возможность пользоваться такими замечательными смартфонами, как Xperia Pro, Xperia Play, Desire Z и конечно же Motorola Droid, а в статьях я делюсь с вами не только причинами своей мотивации, но и рассказываю, как разрабатываются приложения для 10+ летних смартфонов с нуля и с минимальным набором зависимостей и детали реализации тех или иных фишек. В сегодняшнем материале мы подведем с вами промежуточные итоги и узнаем, справляются ли смартфоны 14 летней давности с современными сервисами?
Читать дальше →
Всего голосов 43: ↑42 и ↓1+56
Комментарии38

Mobius 2024 offline. День второй

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

Привет, Хабр!

Вот и вторая часть репортажа о конференции Mobius 24.

День начался сразу с первого доклада и теперь просторный зал Альфа принадлежал андроидам, в отличие от вчерашнего дня)

Multiplatform UI with Compose
Алексей Гладков

Алексей поделился полезными советами, как поддержать Compose на разных платформах и конфигурациях экрана. 

Судя по тому, что многие в зале на ходу конспектировали его доклад, с болью адаптации Compose-экрана под разные устройства мы встречаемся часто. Хотя фронтендеры с проблемами вёрстки сталкиваются постоянно, их опыт не всегда подойдет для Compose Multiplatform.

Мы посмотрели, как удобно реализовать архитектуру и навигацию в проекте, который будет собираться под разные платформы, какие common-компоненты лучше выделить. Хороший совет продумать обработку keyboard shortcut-ов для улучшения UX пользователей десктопа, и Compose Multiplatform даёт такую возможность.

Понравилась идея использовать репозиторий с Flow настроек приложения (AppSettings), чтобы слушать изменения и оперативно отрисовывать UI.

В проекте Compose Multiplatform Wizard можно найти весь актуальный на даный момент стек библиотек, единственное, он обновляется очень часто, примерно раз в неделю.
Общие советы, которые дал нам Алексей: смотреть на разные форм-факторы дисплеев, по возможности проектировать абстрактные экраны, рассматривать компонент экрана как контейнер, что близко к устройству супераппа. И, конечно, толкать дизайнеров, чтобы заранее продумывали UI под разные платформы :-)

Презентация

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

Как мы строили BDUI: опыт Яндекс Маркета

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

Привет! Меня зовут Алексей Морозов. Я уже несколько лет работаю в инфраструктурной команде Яндекс Маркета. Наша команда делает проекты, которые должны были улучшить скорость приложения, его качество и скорость разработки. Однако раньше такие проекты решали эти проблемы только на время, приложение снова деградировало. Всё это напоминает древнегреческий миф, в котором Сизиф толкает в гору камень, он скатывается вниз, и всё начинается по новой.

Такое положение дел нас не устраивало, поэтому было принято решение изменить подход. И мы построили BDUI (Backend Driven UI). В этой статье я расскажу о том, как это случилось, что сделали и какой в итоге получили результат. 

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

Делаем нативное мобильное приложение с ИИ и бэкендом (Туториал)

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

В этой статье мы рассмотрим тонкости создания Proof of Concept (PoC) мобильного приложения, построенного с помощью фреймворка SwiftUI и бэкенда с использованием FastAPI и OpenAI API. Дополнительно я продемонстрирую эффективные архитектурные паттерны для SwiftUI-приложений, в частности MVVMP в сочетании с принципами SOLID и Dependency Injection (DI). Для андроид код можно легко перевести на Kotlin с помощью Jetpack Compose Framework.

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

NTP для мобильных разработчиков: Как точное время повысит качество ваших приложений

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

Все разработчики мобильных приложений сталкивались с проблемой точности времени. Часто для ее решения прибегают к различным методам, например, получают время с собственного сервера. Однако, существует гораздо более простой и удобный способ — использование NTP (Network Time Protocol). В этой статье мы разберемся, что такое NTP, как он может быть полезен для мобильных разработчиков, какие библиотеки существуют для работы с ним и в каких кейсах его использование особенно актуально.

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

Погружение в мир Lint'a в Android-проекте

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

Статические анализаторы уже давно являются неотъемлемой частью разработки проектов не только на Android. Они позволяют выявлять ошибки, несоответствия стандартам code style, производительности или безопасности, обозначать какие-то узкие места, сокращать code review и т. д. Android Studio «из коробки» содержит огромное количество всевозможных проверок, но, как правило, этого недостаточно, всегда есть какие-то неучтённые проблемы, внутренние правила компании или команды разработки. Кратко расскажем про Lint, как начинали делать свои правила, с какими задачами сталкивались на первых этапах и как решали. Это поможет вам впервые погрузиться в тему, так как интернет весьма скуден на статьи по ней.

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

Как создать аудиоплеер. Часть 2. Использование ExoPlayer

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

Всем привет! Меня зовут Дмитрий Булгаков, я Android-разработчик в HiFi-стриминге Звук, и я продолжаю рассказывать вам о том, как можно создать аудиоплеер в приложении. Во второй части гайда мы поговорим об использовании ExoPlayer.

Добро пожаловать на разбор!

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