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

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

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

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

Новые коллекции в Android

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

В 2018 году в androidx появился новый пакет collection, который содержал несколько специфичных структур данных, переписанных на Kotlin, таких как LongSparseArray, SimpleArrayMap и SparseArrayCompat.

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

С тех пор прошло более 6 лет и в январе текущего года был выпущен новый релиз с мощной заменой HashMap, о которой я расскажу чуть позже...

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

Новости

Мобильная разработка за неделю #536 (22 — 28 апреля)

Время на прочтение4 мин
Количество просмотров996
В новом дайджесте гистограммы и локации в iOS, ViewModel и координаторы в Android, виджеты в Flutter, дизайн-система, Fallout в Excel, заработки разработчиков игр для Playdate и многое другое. Подключайтесь!

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

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

Рекомпозиция в Compose: что не видно разработчику невооруженным глазом

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

Всем привет! Меня зовут Данила, я Android-разработчик в команде, которая занимается созданием супераппа WorksPad и почтового клиента RuPost Desktop.

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

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

Большинство поддержало меня в том, чтобы я переложил нашу встречу в формат статьи. Все что вы увидите ниже — и есть тот самый гайд. В нем я постарался простыми словами объяснить, как устроен процесс построения UI на Compose.

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

Эволюция разработки под Android

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

Отправной точкой истории разработки Android считается начало 2000-х, когда Энди Рубин, Рич Майнер, Ник Сирс, Крис Уайт основывают Android Inc. Уже в 2005 Google выкупает их, а в 2008 запускает свою ОС — Android. Первым смартфоном на её базе стал HTC Dream. Так началась история самой популярной ОС. Возможность реализовывать приложения на Java сделало данную ОС очень популярным среди разработчиков. Но сегодня приоритетным языком программирования для Android-разработки является Kotlin. Это лишь малая часть того, что поменялось с 2008. В данной статье представлена история разработки под Android. Остановлюсь на знаковых технологиях, библиотеках, архитектурах и т.д.

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

Истории

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Погнали.

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

RxJava — всё?

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

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

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

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

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

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

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

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

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

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

Конференция «Я.Железо»
Дата18 мая
Время14:00 – 23:59
Место
МоскваОнлайн
Антиконференция X5 Future Night
Дата30 мая
Время11:00 – 23:00
Место
Онлайн
Конференция «IT IS CONF 2024»
Дата20 июня
Время09:00 – 19:00
Место
Екатеринбург

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

HomeAssistant на Android

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

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

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

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

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

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

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

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

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