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

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

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

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

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

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

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

[Начать реверс!]
Рейтинг0
Комментарии1

Новости

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

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

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

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

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

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

Как мы отслеживаем просадки FPS в Альфа-Мобайл?

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

Всем привет 👋 я Максим Кузнецов a.k.a. Android-developer из Альфа-Мобайл. В этой статье я хочу поделиться нашим опытом внедрения механизмов мониторинга производительности в продукты компании. Почему это важно? Потому что производительность напрямую влияет на опыт пользователей, рейтинги приложений и конверсии. Мы рассмотрим статистику, проблемы, наш горький опыт и планы на будущее. Давайте начнем! 🚀

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

Мобильная разработка за неделю #537 (29 апреля — 12 мая)

Время на прочтение4 мин
Количество просмотров922
Собрали дайджест сразу за две недели — в нем материалы про Composable Architecture и новый компилятор K2, Room для Kotlin Multiplatform и будущее магазинов приложений, самые скачиваемые и зарабатывающие приложения в России в апреле, превращение игрушечного робота-доставщика в ровер и многое другое. Подключайтесь!

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

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

Истории

Сложности перевода: баг, который говорил по-русски и ломал моё приложение

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

Шпион всматривается в экраны

Несколько лет назад я работал над Lipo Manager, добавляя кое-какие долгожданные функции. Это довольно простое приложение, но вполне достаточное для управления батареями LiPos. Некоторые из вносимых мной изменений отвечали запросу сообщества. Это были визуальные доработки, оптимизация, мультиязычность, обновления зависимостей и исправление периодически возникавших исключений нулевого указателя.

Со всеми этими задачами я справился за день и, проведя несколько тестов, выпустил новую версию…
Читать дальше →
Всего голосов 49: ↑54 и ↓-5+59
Комментарии14

Room для Kotlin Multiplatform. Пробуем нативное решение

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

Всем привет! На связи Анна Жаркова, руководитель группы мобильной разработки в компании Usetech. В начале мая Google нас порадовали релизами нескольких библиотек для локальных хранилищ. Наконец, в приложения Kotlin Multiplatform можно полноценно использовать Room (версия 2.7.0-alpha01 и выше).
И сегодня мы опробуем работу с данной библиотекой на примере небольшого приложения Todo, написанного на KMP с использованием Compose Multiplatform.


Кроме Room, в проекте используется библиотека Lifecycle-viewmodel для KMP. И Koin для DI и гармонии.

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

Как новый компилятор K2 ускоряет компиляцию Kotlin на 94%

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

Привет, меня зовут Мялкин Максим, я занимаюсь мобильной разработкой в KTS.

Не за горами выпуск новой версии Kotlin 2.0, основной частью которого является изменение компилятора на K2. 

По замерам JB, K2 ускоряет компиляцию на 94%. Также он позволит ускорить разработку новых языковых фич и унифицировать все платформы, предоставляя улучшенную архитектуру для мультиплатформенных проектов.

Но мало кто изучал, как работает K2, и чем он отличается от K1. 

Эта статья освещает нюансы работы компилятора, которые будут полезны разработчикам для понимания, что же JB улучшают под капотом, и как это работает.

Читать далее
Всего голосов 50: ↑52.5 и ↓-2.5+55
Комментарии16

Anvil Utils: Assisted injection в многомодульных Android проектах без боли

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

Привет, Android разработчики!

Хотел бы рассказать вам про мою библиотеку (Anvil Utils) - кодогенератор позволяющий слегка уменьшить количество боилерплейта в многомодульных проектах использующих Dagger 2 и Anvil.

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

Посторонним В.: российские онлайн-аптеки не всегда доступны для незрячих пользователей

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

Инклюзивный проект Everland провел исследование невизуальной доступности онлайн-аптек, чтобы понять, насколько они адаптированы для людей с нарушениями зрения и моторики.  В ходе исследования была протестирована 21 платформа (сайты и мобильные приложения для iOS и Android) 7-ми брендов. Оценку проводили тестировщики с инвалидностью по зрению в феврале 2024 года.

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

Конференция «Инженеры будущего». Описание проекта

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

Я участвовал в конференции «Инженеры будущего» для школьников в Москве в апреле 2024 года и рассказал о своем опыте в предыдущей статье на Хабре https://habr.com/ru/articles/810939/

Сейчас я ищу научного руководителя, который направит мою разработку в области Natural Language Processing и применения генеративного ИИ.

Описание проекта
Всего голосов 3: ↑3.5 и ↓-0.5+4
Комментарии0

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Собираем кроссплатформенное (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
1
23 ...