Обновить
128K+

Android *

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

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

Как мы попробовали Yatagan

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

У нас в проекте с незапамятных времён для DI используется Dagger. И в целом он нас всем устраивает. Ну, разве что кроме одного маленького пунктика — скорость сборки с kapt. Он прилично увеличивает время сборки. Казалось бы, смирись, страдай, прими ситуацию. Но относительно недавно Yandex представили библиотеку для Dependency Injection. Имя ей Yatagan. У неё есть две важных особенности — она спроектирована быть похожей на Dagger по API, и одна из её целей — меньше влиять на время сборки. Меньшее время сборки — это всегда хорошо, а значит, стоит её как минимум попробовать. 

Читать далее

Что внутри APK. App Bundle. Google Play Dynamic Feature

Время на прочтение9 мин
Охват и читатели17K

Разбор содержимого APK и какие способы доставки используются в Google Play, чтобы уменьшить объем передаваемых данных и ускорить получение обновлений конечным пользователем.

Читать далее

Remote бэкенд на Firebase для МП без бэкенда

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

image


Всем привет! С вами Анна Жаркова, ведущий мобильный разработчик компании Usetech. Продолжаем вам рассказывать про интересные технологии мобильной разработки и об их эффективном применении в приложениях на практике. Сегодня поговорим про то, как с помощью Firebase (без помощи бэкенд-разработчика), а именно облачных хранилищ Firebase Realtime Database/Firestore и Cloud Storage, создать свой собственный бэкенд для мобильного приложения. В качестве примера напишем приложение-аналог известного сервиса с картинками, фотографиями и постами. UI у нас уже готов, подробнее можно посмотреть в этой статье.

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

→ Как быстро завезти тёмную тему

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

Нередко получается так, что имея наследие и ограниченные ресурсы нужно делать так, чтобы продукт не проседал на фоне конкурентов.

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

При этом в «дано» у нас было: 
— библиотека цветов в Фигме;
— библиотека цветов на платформах (с кучей цветов наследия);
— только базовые компоненты в Фигме и ещё меньше — в коде;
— иконочный сет и сет иллюстраций. 

В статье я по шагам опишу наш путь.

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

Исходников нет, но мы не сдадимся: портируем Android без каких-либо исходников от производителя

Уровень сложностиСредний
Время на прочтение10 мин
Охват и читатели34K
Несмотря на то, что ядро Linux предоставляется под лицензией GPL, ушлые китайские производители зачастую не хотят публиковать исходный код ядер своих устройств. И ладно, если бы это касалось смартфонов по 2-3 тысячи рублей, но ведь даже за 8-10 тысяч вас могут обделить с «исходниками», хотя по закону это их прямая обязанность! Однако, даже отсутствие исходного кода ядра, не помешает нам портировать кастомную прошивку и подарить вторую жизнь герою нашей сегодняшней статьи — поддельной реплике Huawei P20 Pro на базе чипсета MT6580! Сегодня мы с вами: узнаем подробнее про новые смартфоны за 7-8 тысяч рублей из онлайн-магазинов, портируем прошивку crDroid простым копированием файлов и посмотрим, как работает такой девайс в 2023. Интересно? Тогда добро пожаловать под кат!

Дорогие представительницы прекрасного пола, я и TimeWeb Cloud, поздравляем вас с 8 марта!

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

Дополняем реальность в мобильных приложениях через ARCore

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

Технологии дополненной реальности (Augmented Reality, AR) развиваются с первых экспериментов с шлемами в 1968 году и прогнозируются как один из быстрорастущих сегментов развития интерфейсов (особенно при появлении специализированных устройств, таких как Hololens, Xiaomi Smart Glasses и проекта с непонятной судьбой Google Glass). Не могли не заметить этот тренд и разработчики операционных систем для мобильных устройств, Apple выпустила свой набор инструментов ARKit, также как и Google создала набор библиотек ARCore. Особенно важно, что поддержка этих библиотек доступна на большом количестве устройств (для Android нужна версия 7.0 или новее, а это более 94% доступных устройств, при этом почти 90% из них поддерживают Depth API, необходимый для корректной работы алгоритмов размещения объектов виртуального мира в сложном окружении). В этой статье мы рассмотрим основные вопросы использования ARCore и размещения объектов виртуального мира над поверхностями реального.

Читать далее

Небезопасный android часть 1: эксперименты с sun.misc.Unsafe

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

Java очень глубоко интегрирована в android и имеет в данной ОС свою нестандартную виртуальную машину — DVM/ART, поэтому многие детали реализации отличаются от привычных. А что насчёт внутреннего API sun.misc.Unsafe? В этом цикле статей с его помощью мы попытаемся максимально сломать виртуальную машину андроида.

Читать далее

Курсы дали больше университета: интервью со студентом школы Metaclass

Время на прочтение4 мин
Охват и читатели1.9K

Привет! 

20 марта начинается очередной поток нашей школы Metaclass по курсу Android-разработки.

После учёбы мы всегда спрашиваем наших студентов о курсе: что было легко, что не очень, как знания с курса помогли в карьере. Сегодня о своем опыте расскажет выпускник прошлых потоков курса Android-разработчик Тимур Чикишев. 

Читать далее

Мобильная разработка за неделю #478 (27 февраля — 5 марта)

Время на прочтение4 мин
Охват и читатели2.1K
В нашем новом дайджесте SnapKit и Android Studio, App Quality Insights и асинхронности, доход от покупок социальных сетей, API для ChatGPT и многое другое.

В нашем Telegram-канале Mobile Insights, еще больше материалов для разработчиков — подключайтесь!

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

Свежий Android на 9 летнем железе: Сможет ли смартфон 2016 года оставаться актуальным в 2023 с кастомной прошивкой?

Уровень сложностиПростой
Время на прочтение9 мин
Охват и читатели17K
Ребята из Google проделали огромную работу по популяризации Android на массовом рынке поспособствовали и появлении смартфонов в самых разных ценовых сегментах. Ведь разработка своей мобильной ОС — это многомиллионные вложения, плюс серьёзные проблемы совместимости (вспоминаем нулевые и подбор асек и игр под экраны/платформы). Однако годы идут и несмотря на довольно долгую поддержку предыдущих версий Android, со временем даже флагманы умудряются устаревать, чего уж говорить о девайсах среднего сегмента. В качестве подопытного, у нас выступит бюджетный смартфон Samsung Galaxy J5 на Android 6 Marshmallow. Сегодня мы с вами: немного вспомним историю моддинга девайсов, накатим кастом без сервисов Google и узнаем, способен ли смартфон с железом 9 летней давности стать устройством на каждый день. Интересно? Тогда добро пожаловать под кат!

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

Один плагин, чтоб править всеми. Как разработать сканер на Flutter для 3 платформ и ускорить ввод данных в 2 раза

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

Привет! Меня зовут Сергей, я Flutter‑разработчик SimbirSoft. В этой статье хочу поделиться интересным платформоспецифичным кейсом для мобильных устройств и ТСД. Нам с командой удалось сократить затраты на разработку и ускорить процесс ввода данных в 2 раза.

Клиент располагает крупными товарными складами, на которых сотрудники используют сканеры 1-D/2-D кодов — это смартфоны на iOS, Android, а также терминалы сбора данных с установленным Flutter‑приложением для сборки заказов. Нашей задачей стало обновить плагин сканера, не привлекая отдельные команды для разных платформ.

Очевидно, что данная функциональность сильно полагается на платформу, и Flutter из коробки не умеет работать с ТСД. Как мы решили эту задачу, расскажу по порядку, а в конце поделюсь результатами тестов и ссылкой на исходный код. Спойлер: по сравнению с ручным вводом штрихкодов скорость выросла в 13,4 раза, а с предыдущей версией сканера — в 2 раза.

Подобный кейс применим везде, где требуется сканировать 1-D/2-D коды в большом количестве. Поэтому материал будет полезен разработчикам кроссплатформенных приложений для решения подобных задач, а также их заказчикам.

Читать далее

Как Android-разработчику избавиться от комплекса доменной неполноценности

Время на прочтение5 мин
Охват и читатели3K

Комплекс доменной неполноценности — это когда веришь, что доменный слой приложения должен быть самым большим и самым важным, и винишь себя в том, что в твоём коде это не так. Это происходит, если воспринимать «Чистую архитектуру» как единственно верный способ писать код.

Привет, меня зовут Саша, я Head of mobile в компании «Метр квадратный». Под катом — почему появился этот комплекс и как с ним бороться. Сразу оговорюсь, в статье много моего личного мнения, и будет круто, если в комментах вы поделитесь своим.

Читать далее

Список фишек Android Studio для ускорения разработки

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

Привет! Меня зовут Стефан, я занимаюсь Android-разработкой в KTS.

Android-разработчики каждый день сталкиваются с своим основным инструментом — Android Studio. 

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

Читать далее

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

Настраиваем Android-девайс для анализа трафика приложений

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

Периодически у меня возникает необходимость анализа мобильных приложений под Android. И каждый раз наибольшей проблемой является настройка перенаправления трафика мобильного приложения на прокси-сервер BurpSuite так, чтобы в нем отображались все запросы приложения.

Данная заметка предназначена для систематизации в едином источнике методов обхода ограничений по перенаправлению трафика. Вопросы обхода детектирования Root, SSL pinning-a и прочих механизмов безопасности не будут рассмотрены в рамках данной заметки.

Для настройки нам понадобятся: BurpSuite, ADB, apktool, jarsigner, Android-девайс (или эмулятор).

Читать далее

Ответы на частые вопросы от начинающих Android-разработчиков

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

Привет! Я Александр Иванов, Android‑разработчик в компании KODE. Недавно мы проводили митап для студентов лаборатории VibeLab (университет «ЛЭТИ»), где отвечали на вопросы. В статье приведена содержательная часть этой Q&A сессии, которая может оказаться полезной начинающим Android‑разработчикам.

Читать далее

Мобильная разработка за неделю #477 (20 — 26 февраля)

Время на прочтение3 мин
Охват и читатели2K
В нашем новом дайджесте Live Text API в iOS 16 и игры в тесты, будущее Flutter и формулы для оптических настроек, свой Firebase за 7$, пародии на синие галочки и многое другое!

В нашем Telegram-канале Mobile Insights, еще больше материалов для разработчиков — подключайтесь!

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

Аналитика мобильных приложений — простыми словами для бизнеса

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

В этой статье попробую объяснить, как строится аналитика мобильных приложения максимально простыми словами.

Читать далее

(не)очевидный механизм переводов в Android

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

Привет! Локализация приложений в Android – достаточно простая и понятная процедура. Именно так думал я, пока не столкнулся с необычным багом. Как оказалось позже, это был вовсе и не баг, а одна очень занимательная особенность, о которой и пойдёт сегодня речь.

Читать далее

На грани отвала eMMC: Устанавливаем Android на SD-карту на любом смартфоне/планшете! Вторая жизнь для дешевых кит. устр

Уровень сложностиСредний
Время на прочтение11 мин
Охват и читатели40K
К сожалению, китайские производители бюджетных девайсов всё туже и туже затягивают пояса для уменьшения конечной цены девайсов. Попытки сэкономить сказываются не только на качестве дисплеев, пластиковых тачскринах, слабых процессорах, но и на памяти. Причём последнее время в устройства до 5-6 тысяч рублей ставят откровенно неликвидную и отбракованную память брендов Foresee и Barum, которая может прослужить как пару месяцев, так и 5 лет. Сегодня мы с вами: узнаем небольшую историю «затягивания» поясов китайцами, во всех подробностях перенесём Android на MicroSD-флэшку (гайд применим для любых производителей и чипсетов), посмотрим, как будет работать Android с такого накопителя и подведем итоги. Интересно? Тогда добро пожаловать!

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

Как мы играли в тесты на Groovy и проиграли

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

В начале у меня будет один вопрос к тебе дорогой читатель. Писал ли ты когда-нибудь unit-тесты на Groovy ? Если ты андроид-разработчик, то вероятность этого крайне мала. И я с таким не сталкивался пока не пришел на проект Альфы. Небольшой дисклеймер: если ты до этого никогда не писал unit-тесты, то этот материал может показаться тебе непонятным.

Давай представим, ты приходишь на проект и видишь тест, как на картинке. Что ты будешь делать дальше?

Читать далее