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

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

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

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

От Kotlin до машинного кода

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

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

Читать далее

Новости

Пишем транзишинометр для Андроид. Как понять, что мои экраны открываются быстро?

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

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

Google даёт нам Macrobenchmark и JunkStats — инструменты для оценки общей отзывчивости и стабильности интерфейса. Но их недостаточно, чтобы понять, быстро ли у нас открываются экраны.

В этой статье мы поговорим о том, как получить полную картину по метрикам UI-перформанса. Как замерить плавность и отзывчивость интерфейса, и как оценить время открытия экрана — одно из самых частых действий для пользователя. Напишем собственный транзишинометр и замерим рендер экрана до первого onDraw и до последнего, причём и во Fragments, и в Compose.

Читать далее

Мобильная разработка за неделю #566 (25 ноября — 1 декабря)

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров827
В новой подборке поисковые подсказки на SwiftUI и сравнение Koin и Dagger, асинхронность в iOS и переживания Jetpack ViewModel, Tracer спустя год, пасьянс для забытой периферии, доходы и установки в России в 3 квартале и многое другое. Подключайтесь!

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

Как я купил нерабочую подделку iPhone 14 Pro Max за «косарь» и портировал на неё чистый Android

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

Осторожно: в отличие от других обзорных статей о китайских подделках брендовых смартфонов, в этой мы ещё и узнаем, что у устройства ‭«под капотом‭», проведем диагностику, отремонтируем и доведём его до ума путём портирования чистого дистрибутива Android. В материале всё описано максимально простым и понятным языком, даже если вы не фанат такого своеобразного класса устройств, как подделки на брендовые девайсы. Будет интересно!

Читать далее

Истории

Делаем из смартфона рацию Push-To-Talk, вызываем диспетчера или подаём SOS одним нажатием. Обзор XCover7 и MIL-STD-810H

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

Самое первое защищённое устройство (rugged device) Samsung появилось в далёком 2011 году.  С виду укреплённый корпус и заменяемая батарея, что продлевает жизнь смартфона, но всё не так просто. Линейка rugged моделей создана для снижения расходов бизнеса при эксплуатации смартфонов в долгосрочной перспективе, потому что на производстве условия суровые, а отношение сотрудников к устройству не бережное.

В этой статье я опишу малоизвестные подробности использования смартфонов в бизнесе и расскажу о модели защищенного смартфона Galaxy XCover7, а также о трёх способах программировать кнопку XCover на его левой стороне.

Читать далее

Как ускорить проверку приложения с помощью Impact-анализа: Часть 1 — Статические анализаторы

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

Когда команда растёт, а кодовая база стремительно увеличивается, время выполнения проверок может стать настоящей проблемой. Unit-тесты, UI-тесты, статический анализ — все эти процессы начинают занимать слишком много времени, замедляя разработку. Звучит знакомо?

В этой статье я поделюсь опытом нашей команды в Циан: расскажу, как мы перешли от полного выполнения всех проверок к выборочному запуску, снизив их длительность. И почему сделать это проще, чем кажется. Если вы считаете, что выборочный запуск статических анализаторов — это сложно и дорого в поддержке, я покажу, как обойтись всего 200 строками кода.

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

Читать далее

Всё о новых штрафах за утечки данных. Сколько светит и как защитить своё приложение

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

На этой неделе Госдума ужесточила ответственность за нарушения в работе с данными — для компаний штрафы вырастут до 3% от выручки или до 500 миллионов рублей.

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

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

BDUI — это спасение от релизов: «Какие ваши доказательства?»

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

Если вы видели no-code-проекты, где можно просто блоками перетаскивать интерфейс, то отчасти вы уже знакомы с BDUI-подходом, ведь они по сути и построены на BDUI. Суть в том, что мы делегируем наполнение интерфейса серверу. Фронтенд не отвечает за то, что будет нарисовано, а только определяет список допустимых компонент, которые сервер может показать пользователю. Но в вебе BDUI не очень популярен.

А зря. Ведь в первую очередь он нужен как спасение от релизов. 

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

Вряд ли узнаете, как на 100 % реализовать или внедрить BDUI в свой проект, ибо это слишком категорично, потому что для каждого проекта всё индивидуально. Но… об этом я и расскажу в моей обзорной «лекции».

Читать далее

Мобильная разработка за неделю #565 (18 — 24 ноября)

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров1.1K
В новом дайджесте реверс-инжиниринг новой функции iOS Inactivity Reboot и поиск Золотого пути к устойчивой Android-разработке, шапочный разбор с CoordinatorLayout и взрослая анатомия крэшей на iOS, приложения для HarmonyOS Next, лучший квартал экономики приложений, большая битва платформ и многое другое. Подключайтесь!

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

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

Пишем Android приложение для фильтрации спам-звонков

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

Всем привет! Меня зовут Иван Чечиков. В этой статье я расскажу о своем пет-проекте - Android приложении, которое может идентифицировать нежелательные входящие звонки.

Подробности – под катом.

Читать далее

Стили, темы и адаптивная верстка в React Native

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

Из этой статьи вы узнаете, как эффективно организовать очень важную часть разработки на React Native - работу со стилями и ресурсами для создания адаптивных и доступных интерфейсов под три платформы: iOS, Android и Web, и нужны ли для этого библиотеки. Также в целом обсудим особенности верстки и проблемы производительности в рамках данного фреймворка.

Читать далее

Huawei уходит от Android. Придётся ли бизнесу делать приложения для HarmonyOS Next

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

В 2023 году Huawei заявили об окончательном уходе от Android и переходе на собственную HarmonyOS Next. Для разработчиков это значит, что не получится создавать нативные приложения силами одной команды. Бизнес ждут новые расходы или снижение охвата аудитории.

Меня зовут Сергей, я техлид Android-разработки в Surf. В статье расскажем, чего ожидать владельцам приложений в России, стоит ли готовиться к очередной разработке на новой ОС и как это сделать.

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

Мой вариант приложения для запоминания популярных английских слов

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

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

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

Получилось вот так https://www.rustore.ru/catalog/app/com.example.word_1000_eng

Вот так выглядит мой список популярных слов

Читать далее

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

2 – 18 декабря
Yandex DataLens Festival 2024
МоскваОнлайн
11 – 13 декабря
Международная конференция по AI/ML «AI Journey»
МоскваОнлайн
25 – 26 апреля
IT-конференция Merge Tatarstan 2025
Казань

Такие разные Android AppLinks, WebLinks, DeepLinks. Разбираемся и пытаемся сломать

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

Всем привет! На связи Юрий Шабалин и Веселина Зацепина, эксперты по безопасности мобильных приложений в компании Стингрей. С каждым годом мобильные приложения становятся всё более сложными и взаимосвязанными, предлагая пользователям бесшовный опыт взаимодействия. Одной из ключевых частей этого опыта являются ссылки, которые могут направить пользователя прямо на определённый экран приложения или на конкретный контент. Однако многие (как и мы до того, как написать эту статью) путают такие термины, как Deep Links, Web Links и App Links, что может привести к ошибкам в реализации и уязвимостям.

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

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

Читать далее

Избавляемся от Android в api-модулях

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

Небольшой туториал на тему «Как уменьшить количество Android-модулей в проекте при помощи оберток над Android-классами»

На решение, которое будет описано ниже, меня натолкнула статья Оптимизация Gradle: избавляемся от Android-модулей. В ней приведен синтетический бенчмарк, из которого видно, что количество gradle-модулей с Android-плагином негативно влияет на скорость конфигурации проекта, а также на количество необходимой памяти. Мы, как инженеры, должны воспользоваться каждой возможностью ускорить сборку проекта. Однако в статье приведено несколько недостатков описанного подхода, и на момент написания статьи они были критичными и не давали возможности использовать его в нашем проекте. 

Итак, теперь сначала..

Читать далее

Работа с CoordinatorLayout: шапочный разбор

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

Приветствую тебя, уважаемый читатель! Меня зовут Пятаков Никита, я Android-инженер в команде MT&S Авито. Здесь я делюсь опытом реализации двух версий шапки на главном экране приложения Avito. Эта статья будет особенно полезна разработчикам, которые хотят познакомиться с CoordinatorLayout и научиться делать похожие задачки с нетривиальным взаимодействием view между собой. 

Читать далее

Что нужно, чтобы тебя увидели в Play Market?

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

Если вы пришли за ответом на вопрос в заголовке - то не хочу расстраивать вас, я и сам не знаю.

15 ноября этого (2024) года я опубликовал своё приложение в Play Market. Казалось бы, вот оно - начало пути к "миллиардам пользователей", как говорит Гугл при публикации игры, большим онлайнам и заработку. Но в я отдаю себе отчёт, что моя игра нишевая, и никогда сверх-популярной не станет. Однако, даже несмотря на это, я пытаюсь привлечь людей всеми способами.

Сейчас передо мной стоит один важный вопрос: я не наблюдаю свой проект в поисковой выдаче Play Market, и имею довольно слабое представление, что нужно сделать, чтобы он там вообще появился.

Изучаем конкурентов. Моими прямыми конкурентами можно назвать два проекта - Rival Regions - проект, администрация которого не ведёт соцсети и не обновляет сам проект примерно никак, и eRepublik, про который я вам ничего сказать не смогу. Во всех трёх играх, включая мою Wild Politics, игроки взаимодействуют друг с другом чтобы создать лучшее государство игры, однако если в WP и RR государства могут быть какими угодно по названию и территориям, то, насколько мне известно, eR позволяет существовать только странам, подобным реальным.

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

Выше неё - весьма известная Rebel Inc., и целых три симулятора президента одного и того же издателя. Видимо, людям нравится играть за лидеров и только за них.

Читать далее

Готовим лоб к пробитию стен: как Android-разработчику найти первую работу в 2025-м

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

Привет, друзья!

Я Илья Попов, действующий senior android разработчик, ментор начинающих андроид-разработчиков и автор телеграм-канала Android Dev Notes.

Итак, вы приняли решение стать андроид-разработчиком. Как найти дорогу в этом океане неизвестного впереди?

Раз наша цель – работа в андроид-разработке, то первое, что нужно сделать – изучить рынок вакансий и понять, а что от вас вообще нужно работодателям?

Идём на основные сайты для поиска работы (hh, superjob, career.habr, geekjob, getmatch и тд) и анализируем пару десятков вакансий джуниоров и то, какие требования в них фигурируют чаще всего. Составляем себе список навыков, библиотек, фреймворков, инструментов для освоения.

Следующее, с чем надо определиться: к какому из пунктов приступать первым? Здесь два варианта:

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

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

Эта программа не будет высечена на камне – нам может потребоваться её изменять, а часто придётся импровизировать и отходить от неё. Но мы теперь не плывём в океане наудачу – у нас есть маяк. А дальше дело за малым – поднимаем якорь, надуваем паруса и вступаем на тернистый, но интересный путь разработчика!

Читать далее

Кроссплатформенная архитектура ядра приложения. Простая. Линейная. Масштабируемая

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

Описание проблемы


Задача


Я — андроид разработчик. Обычно ко мне приходят с фразой вроде “вот мы тут придумали фичу, сделаешь?” и с макетом дизайна, вроде такого.



Я смотрю на это всё и вижу: вот экраны, эти данные на них — статические, а вот эти динамические, значит их надо откуда-то взять; вот тут интерактивные компоненты: при взаимодействии с ними надо что-то сделать. Иногда просто открыть другой экран или виджет, иногда выполнить логику. Исходя из этого я проектирую то, как будет выглядеть логика фичи. Описываю ее в компонентах архитектуры, разбиваю на задачи, узнаю где и как взаимодействовать с сервером, и прочее.


Скрытые кейсы


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


Знакомо?

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

Подборка книг для мобильных разработчиков: от начинающего до продвинутого уровня

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

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

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