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

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

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

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

Как я делаю build больших Android/iOS проектов со 128 GB памяти на старом Mac

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

Наверняка вы не раз сталкивались с проблемой нехватки памяти на вашем ПК при билде проектов? Недавно мне стало не хватать основной памяти на диске, где установлена система MacOS. Решением проблемы послужило приобретение внешнего SSD диска. Как же настроить работу билдов Android и iOS на внешнем диске и перенести все проекты и приложения? Об этом и пойдет речь в этой статье. Приятного чтения!

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

Новости

Пишем plugin для Jetbrains IDE: отображение файлов вне проекта в Project Tool

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

Доброго времени суток, дорогой читатель. Меня зовут Михаил, я Android-разработчик в компании Циан. Этой статьёй я открываю для себя цикл статей по внутренней кухне разработки плагинов для Jetbrains IDE: IDEA, Android Studio (AS) и пр. На дворе 2024 год, официальная документация не так богата информацией, как хотелось бы. Но есть исходники, которые смело можно дербанить. В этом цикле статей я буду описывать свой опыт поиска нужной мне информации и её разбор.

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

7 ножей в спину web-отладки

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

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

О процессе отладки я буду рассказывать в хронологической последовательности, как она происходила в жизни, а не с "точки зрения вечности". Надеюсь, это поможет читателю лучше понять историю моих озарений и провалов. Заранее предупрежу, что я пытался двигаться к цели не углубляясь в причины неудачи тех или иных шагов. Если подход "в лоб" в каком либо варианте не срабатывал, я откладывал этот вариант, и переходил к другому. Название каждого раздела соответствует трудности, с которой я столкнулся. Итак, начнем.

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

Утечки памяти в мобильных приложениях: руководство для QA-инженеров

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

Меня зовут Ира и я руковожу отделом тестирования мобильной платформы: наш отдел занимается разработкой инструментов для автоматизации тестирования мобильных приложений Ozon и тестированием внутренних библиотек, которые используются в наших приложениях. Около года назад мы пытались понять, почему у одной из команд джоба с автотестами отваливается по тайм-ауту. К слову, это был проект мобильного приложения для продавцов, и на нем у нас для автоматизации тестирования используются нативные фреймворки: Kaspresso + Kotlin для Android и XCTest + Swift для iOS.

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

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

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

Истории

Генеративный ИИ в Android и эффективность фоновой работы приложения — важное с Google I/O 2024

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

Всем привет! Меня зовут Тимур, я Android-разработчик в KTS

Состоялась конференция Google I/O, и наша команда решила выпустить обзор докладов. В этой статье — про интеграцию передового генеративного ИИ в Android-приложения, который предлагает идеальные ответы или даже делает сводку по вашей аудио записи. Также спецы из Google дали практические советы по оптимизации фоновой работы приложения для увеличения времени работы от аккумулятора.

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

Как создать аудиоплеер. Часть 1. Что под капотом

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

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

Для вашего удобства гайд разделён на несколько основных частей. В первой расскажу об актуальных инструментах разработки плеера и о том, что у него «под капотом».

Поехали!

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

Новая жизнь или начало экзистенциального кризиса?

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

Ни для кого не секрет, что популярные языки программирования развиваются по схожему сценарию. Сначала появляется новый язык программирования с амбициозной и благой целью решить те или иные проблемы уже существующего языка, которые иначе, как созданием нового языка программирования, не решить. Далее язык набирает популярность, часто путем обрастания различными модными фичами. Теряет связь с миром свою простоту и лаконичность в бесконечной погоне за новыми возможностями. В какой-то момент наступает экзистенциальный кризис в виде Франкенштейна. А как отмыть кровь решать подобные проблемы, мы уже знаем. Или я несколько утрирую (или нет?), и, возможно, не все так плохо? Сегодня поговорим об этом в общем и о новом функционале языка Dart в частности.

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

Мобильная разработка за неделю #538 (13 — 19 мая)

Время на прочтение4 мин
Количество просмотров2.1K
В новом дайджесте обсуждаем прошедшую I/O, проводим карантин UI-тестов и смотрим как Notion ускорил запуск на Android в 2 раза, отмечаем новые Flutter и Dart, боремся с догмами программирования и многое другое. Подключайтесь!

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

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

Слежка через пуш-уведомления на смартфонах

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


Недавно стало известно о новом виде слежки за пользователями смартфонов: через пуш-уведомления в iOS и Android. Газета Washington Post написала, в частности, что эту тактику начало использовать ФБР (кэш статьи).

Довольно интересно, как работает такой метод выслеживания.

Согласно расследованию, для идентификации пользователей ФБР запрашивает у компаний Apple и Google данные пуш-уведомлений, так называемые «пуш-токены» (push token). Эти данные можно запрашивать без предъявления ордера. С помощью пуш-токенов можно идентифицировать конкретный смартфон, а потом запросить у компании данные о его владельце.
Читать дальше →
Всего голосов 37: ↑36 и ↓1+49
Комментарии65

Как использовать Python в нативном Android приложении. Мой опыт

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

Привет, Хабр! В этой статье я хочу поделиться опытом разработки самого популярного загрузчика видео в RuStore и рассказать, как я использовал потрясающую библиотеку для интеграции Python кода в свой проект.

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

Flutter и натив. Пример с Яндекс OAuth

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

В жизни каждого flutter разработчика наступает момент, когда нужно пересесть с удобного кресла Dart , на нативные табуретки swift или kotlin для реализации пары фичей. Показываю, как работать с хост-приложениями на примере Яндекс ID.

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

Второй пошел: Google опубликовала новую бета-версию Android 15

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

Источник: lavanguardia.com

Операционную систему Android 15 ждут многие, но она появится лишь в третьем квартале 2024 года. Для всех желающих ознакомиться с ОС корпорация Google опубликовала вторую бета-версию.

Протестировать новую версию «робота» можно на Pixel 6/6a/6 Pro, Pixel 7/7a/7 Pro, Pixel 8/8 Pro, Pixel Fold и Pixel Tablet, а также на ряде мобильных устройств от Honor, iQOO, Lenovo, Nothing, OnePlus, OPPO, Realme, Sharp, Tecno, vivo и Xiaomi. Что нового и интересного появилось? Подробности под катом!
Читать дальше →
Всего голосов 25: ↑25 и ↓0+33
Комментарии15

Поэтапный гайд Android-разработчика с нуля

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

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

Этот гайд — попытка помочь таким же начинающим, каким я когда‑то был, быстрее попасть в профессию.

Читать полностью
Всего голосов 20: ↑6 и ↓14-2
Комментарии19

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

Антиконференция X5 Future Night
Дата30 мая
Время11:00 – 23:00
Место
Онлайн
OTUS CONF: GameDev
Дата30 мая
Время19:00 – 20:30
Место
Онлайн
Конференция «IT IS CONF 2024»
Дата20 июня
Время09:00 – 19:00
Место
Екатеринбург
Summer Merge
Дата28 – 30 июня
Время11:00
Место
Ульяновская область

Как написать свой клиент для YouTube, не привлекая внимания санитаров

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

Привет, Хабр! Когда‑то давно я наткнулся на ролик, где парень писал консольный клиент для YouTube. Идея была просто потрясающей!

Написать свой минималистичный и быстрый клиент, который не будет надоедать
лентами рекомендаций, рекламой, комментариями и т. д. Но вот беда, автор, не найдя возможности использовать YouTube API, решил спарсить одну из фронтенд обёрток над YouTube.

Стоит ли говорить о том, что такое решение сильно теряет в производительности и абсолютно нежизнеспособно на какой‑либо длительный период времени?

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

Как я доказывал Google, что мне нужны данные юзеров, но я не скамер

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

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

Речь пойдёт про спортивный челлендж. Однажды мы пригласили сотрудников посоревноваться в количестве шагов. На мне была реализация функционала на Андроид. А я всегда говорил: хочешь спокойствия — выбирай Айфон, хочешь веселья — Андроид.

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

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

Гейминг за 300: как я купил и оживил дешевую игровую консоль на Android. Можно ли поиграть, сэкономив на шаурме?

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

Несмотря на незаурядное название, наверняка многие олдовые читатели будут рады видеть статью в «старом» формате с оживлением и попыткой использования чего-то очень дешевого, грязного и нерабочего. В процессе подготовки подробного материала о том, как работали 2D игры на телефонах из прошлого, я не терял времени и искал различные интересные девайсы на онлайн-барахолках «за копейки». Так уж получилось, что на моей карте осталось 60 рублей, ещё 250 рублей задонатил читатель и я увидел её: Android-игровую консоль «на запчасти», которую мне удалось забрать всего за 300 рублей. Сегодня мы с вами: поговорим, есть ли смысл брать дешевые консоли на Android, во всех подробностях отремонтируем и отреставрируем нерабочий, грязный девайс «из подвала» и проведем бенчмарки эмуляторов, дабы понять — реально ли получить игровую консоль по цене шаурмы. Интересно? Тогда жду вас под катом!
Читать дальше →
Всего голосов 27: ↑26 и ↓1+36
Комментарии31

Developer Keynote Google I/O 2024: официальная поддержка KMP, развитие Gemini и AI в Андроиде

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

Всем привет! Меня зовут Мялкин Максим, я лид мобильной команды в KTS. Сейчас проходит Google IO 2024, и мы с ребятами в команде решили выпустить обзор треков, которые нам показались интересными. Мы сконцентрируемся на Android-направлении. На основном keynote все внимание было уделено развитию AI, также это коснулось и части разработки.

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

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

Опыт публикации Андроид приложения в Google Play независимым разработчиком в 2024 году

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

Прошло почти 2 месяца с момента выпуска моего не первого бесплатного приложения в Google Play в 2024 году, хотел бы поделиться своим опытом/граблями.

Как разбогатеть Андроид разработчику в 2024 году.

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

Копаемся в встроенном приложении камеры старого Xiaomi. Часть 2

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

Попытаемся отреверсить и заглянуть в реализацию фото-эффектов приложения камеры Xiaomi 8 летней давности

[Начать реверс!]
Всего голосов 7: ↑7 и ↓0+7
Комментарии6

Как мы реализовали кнопку со свайпом на Jetpack Compose

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

Привет, Хабр! Меня зовут Женя Мельцайкин, я работаю в команде мобильной разработки Контура.

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

В статье расскажу, как мы сделали кнопку по проведению жеста свайпом на Jetpack Compose, чтобы избежать случайной подписи документа.

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