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

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

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

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

Jetpack Compose для ленивых

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

Статья о том, как можно использовать Jetpack Compose для решения нестандартных ситуаций.

Рассказывает и показывает наш Android-разработчик Илья Кубышкин.

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

Безопасность android-приложений. Реверсим OWASP MASTG Crackme 1

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

Всем привет! Меня зовут Максим и я занимаюсь исследованиями источников данных. В своей работе периодически приходится сталкиваться с исследованием android-приложений. В этой статье я хочу показать базовые методы реверс-инжиниринга и исследования android-приложений на примере Crackme из проекта OWASP MASTG.

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

Обзор архитектуры Compose с использованием паттерна «координатор»

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

В этой статье рассмотрим, пример реализации архитектуры UI-слоя на Compose, которая основывается на Uni-directional data flow и state hoisting с использованием паттерна «координатор» для навигации. Вдохновением для меня послужила эта публикация, но я решил подробнее развернуть поднятую в ней тему архитектуры Compose и навигации.

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

Мобильная разработка за неделю #535 (15 — 21 апреля)

Время на прочтение4 мин
Количество просмотров2K
В нашей новой еженедельной подборке чистая архитектура и MVVM в iOS, закан RxJava и критических оповещений на Android, опыт внедрения компонентной разработки, смартфон для джаваскриптера-олдфага, практическое руководство по запросу отзывов и многое другое. Подключайтесь!

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

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

Истории

Один репозиторий, чтобы править всеми

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

Собираем кроссплатформенное (server-client, static-client, gh-pages, Android, iOS, macOS, Linux, Windows, Chrome extension, Docker, Kubernetes, ...) React приложение. В этой статье я почти не затрону Deep backend, только чуть-чуть в конце. Но рассмотрю Open Source шаблон/заготовку для сборки кроссплатформенных React приложений который мы используем в Deep.Foundation.

Надеть еще одно кольцо всевластия
Всего голосов 13: ↑12 и ↓1+14
Комментарии5

Генерируем отчеты PDF на Android с использованием HTML и WebView в фоне

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

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

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

Kodein DI для Android. Целостность графа и тесты на DI

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

DI фреймворки бывают двух видов: те, что строят свой граф зависимостей во время компиляции (compile time фреймворки), и те, которые делают это уже при выполнении кода (runtime фреймворки).

Kodein — типичный представитель runtime фреймворков. Это значит, что о пропущенной зависимости вы узнаете непосредственно в процессе работы приложения, что может стать неприятным сюрпризом. Только представьте себе: вы пропустили на регрессе какой-то кейс, и у вас краш в продакшене из-за DI! Это же настоящий кошмар!

Однако отказываться от Kodein ID и других runtime фреймворков не стоит. О том, почему мы продолжаем ими пользоваться, и как их сделать более надёжными, я расскажу в третьей статье из цикла материалов про Kodein DI для Android.

Погнали.

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

RxJava — всё?

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

В “далеком” 2018 г. разработчик компании EPAM Systems Владимир Иванов провел опрос среди своих подписчиков в Twitter, пытаясь узнать, какой фреймворк для организации асинхронной работы предпочитают Android-разработчики. 65% опрошенных назвали RxJava, 28% выбрали корутины.

Ирония в том, что результаты опроса Владимир приводил в докладе “RxJava не нужен: меняем Rx на корутины в Котлине”. Сегодня, спустя 6 лет после релиза стабильной версии Kotlin Coroutines, с трудом верится, что когда-то в мире асинхронной работы под Android был другой хозяин. 

Действительно ли RxJava так плоха, что ей не осталось места в наших приложениях? Используется ли она сейчас на проектах? Есть ли смысл изучать RxJava новичку? Давайте разбираться.

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

ViewModels в Android: «за» и «против»

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

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

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

Мобильная разработка за неделю #534 (8 — 14 апреля)

Время на прочтение4 мин
Количество просмотров1.9K
В нашем новом дайджесте не страшный Accelerate и MVVM без M, жизнь после отвала eMMC и инъекции зависимостей в Compose, история успеха Flutter, проблемы маленьких приложений, 900 самых популярных инструментов ИИ на базе open source и многое другое. Подключайтесь!

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

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

Начинать новый проект или дорабатывать старый?

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

Давайте немного пофилософствуем... :) Если вы устали от своего проекта и хотите переключиться на другой, что делать? Первый вариант - пробуйте поставить новые задачи относительно текущего дела. Возможно, вам просто нужно обновить задачи текущего, освободиться в голове от рутины, связанной с нынешним проектом, и начать думать в позитивном ключе.

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

Создание собственного ключа Android приложения

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

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

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

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

Как я курсовую писал на gRPC+REST в связке с клиентом на Android+Jetpack Compose

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

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

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

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

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

Жизнь после отвала eMMC. Часть 2: даём новую жизнь устройствам с полностью мёртвой памятью. Загружаем Android с MicroSD

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

Отвал флэш-памяти типа eMMC — весьма частая болячка смартфонов и планшетов, которая массово преследует современные девайсы на протяжении вот уже более 10 лет. Симптомы проблемы знакомы многим читателям: смартфон виснет на заставке, системные приложения регулярно вылетают, или настройки системы внезапно перестают сохраняться. Сам процесс замены флэш-памяти требует навыков перекатки и пайки BGA-чипов, оборудования (трафареты для реболла, программатор с колодками, опционально подогрев) и понимания того, как работает загрузчик той или иной аппаратной платформы, поэтому в СЦ за эту процедуру могут взять достаточно большую сумму. На некоторых девайсах менять память уже совсем невыгодно, особенно когда другой такой-же аппарат стоит полторы тысячи рублей на барахолке, но воспоминания о любимом девайсе порой гораздо дороже, чем сумма за ремонт смартфона. Год назад я уже писал материал о загрузке Android с MicroSD при условии того, что eMMC ещё подает хоть какие-то признаки жизни, а сегодня я вам расскажу о способе загрузить систему с флэшки уже после того, как чип флэш-памяти отказал и ушёл в read-only. Сегодня мы с вами: узнаем о том, какие типы флэш-памяти существуют и причины их отказа, разметим MicroSD-флэшку и запишем на неё образ системы, пропатчим пути монтирования в boot.img, а также узнаем, как теперь запускать наш смартфон и посмотрим, сможет ли он работать достаточно шустро с MicroSD флэшки! Интересно узнать, как вернуть жизнь таким легендам, как Google Nexus? Тогда добро пожаловать под кат!
Читать дальше →
Всего голосов 75: ↑73 и ↓2+84
Комментарии72

HomeAssistant на Android

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

90% людей подключают к Умному Дому только лампочки для освещения. Вся индустрия Умного Дома заточена и протестирована под лампочки.

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

Упс... HomeAssistant на Android обновился...

Как с этим жить?..
Всего голосов 12: ↑5 и ↓70
Комментарии45

Как я написал клиент электронного дневника своей области

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

Сейчас я учусь в 8 классе. Где-то с октября (сейчас апрель) я изучаю разработку мобильных приложения для андроид. И как это бывает у каждого - я столкнулся с проблемой: а какое приложение мне сделать? И мне крайне повезло. Я не стал делать какой-нибудь фейковый магазин, калькулятор, блокнот, туду лист и всякую подобную заезженную тему.

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

Что делать, если кандидат оказался сеньором или психом: советы на случай форс-мажоров

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

Меня зовут Александр Гирев, я Android-разработчик и технический интервьюер. В одной компании я выполнял роль interview expert: следил за качеством собеседований, готовил рекомендации и матрицы вопросов, обучал начинающих интервьюеров.

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

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

Читать далее
Всего голосов 77: ↑59 и ↓18+61
Комментарии154

Разворачиваем ML модель с использованием ONNX на Android в километре над землей

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

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

Интернета в полете при этом обычно нет, так что вариант с доступом к удаленному Python-серверу по API отпадает. Ноутбук с запущенным Jupyter с собой тоже не возьмешь.

На помощь приходит промежуточный формат ONNX, созданный для обмена ML моделями между разными системами. Под катом описание того, как сконвертировать модель в этот формат и как загрузить и использовать ее в Android приложении.

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

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

Время на прочтение4 мин
Количество просмотров2.4K
В новом выпуске динамические фреймворки и роботы Apple, Telegram на Android-смартфоне 14-летней давности, игра в безопасность, скрытые сокровища интерфейсного дизайна, самые скачиваемые и зарабатывающие приложения в России в марте, фальшивая социальная сеть, которая сама ставит вам лайки, и многое другое! Подключайтесь!

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

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

Конструкторы-самозванцы в Kotlin

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

Сегодня я хочу поговорить про интересные моменты в Kotlin, связанные с вызовами конструкторов классов. Или не совсем конструкторов? Или же совсем не конструкторов? Давайте разбираться.

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

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