Pull to refresh
3
4

Android developer

Send message

Как мы переходили с Xamarin на Flutter

Level of difficultyEasy
Reading time10 min
Views4.8K

Всем привет! Меня зовут Виктор, я представляю одну из команд мобильной разработки компании DD Planet.

В этой статье расскажу о своем личном опыте и опыте нашей команды по переходу с кроссплатформенного фреймворка Xamarin Native на Flutter.

Читать далее
Total votes 14: ↑14 and ↓0+19
Comments2

Парсим данные из Google Sheets с помощью Kotlin и Retrofit в Android

Level of difficultyEasy
Reading time4 min
Views897

Как парсить данные Google Sheets с помощью Retrofit и Gson в Kotlin Android или как получить структурированные классы из файлика с расширением json, который падает к программисту из Google Sheets API.

Читать далее
Total votes 3: ↑3 and ↓0+7
Comments5

Как я перестал волноваться и полюбил ошибки в корутинах: поймай меня если сможешь

Level of difficultyMedium
Reading time4 min
Views3.6K

Если опираться на предыдущую статью (ссылка), то по отношению к корутине можно сказать что на андроиде она вызовет краш приложения, если не был переопределен Thread.UncaughtExceptionHandler потока.

Но во всех ли случаях такое будет? Или можно ли не изменяя корутину и не изменяя Thread.UncaughtExceptionHandler потока помешать данной корутине закрыть приложение с крашем?

Читать далее
Total votes 3: ↑3 and ↓0+4
Comments0

Drag and Drop в Jetpack Compose

Level of difficultyEasy
Reading time5 min
Views2.4K

В январе 2024, крупное обновление Jetpack Compose добавило два новых модификатора: dragAndDropSource и dragAndDropTarget. В этой статье я расскажу как реализовать эффект Drag and Drop в Jetpack Compose.

Читать далее
Total votes 2: ↑2 and ↓0+2
Comments0

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

Level of difficultyMedium
Reading time9 min
Views6.9K

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

Читать далее
Total votes 15: ↑13 and ↓2+21
Comments4

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

Level of difficultyMedium
Reading time4 min
Views5.7K

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

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

Читать далее
Total votes 10: ↑10 and ↓0+11
Comments8

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

Level of difficultyMedium
Reading time9 min
Views5.7K

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

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

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

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

Читать далее
Total votes 11: ↑9 and ↓2+9
Comments4

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

Level of difficultyMedium
Reading time13 min
Views5.9K

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

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

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

Читать далее
Total votes 24: ↑24 and ↓0+29
Comments5

Unit-тесты в Android для начинающего разработчика

Level of difficultyEasy
Reading time16 min
Views2.2K

Меня зовут Александр Чекунков, я — Android‑разработчик в СБЕРе. Занимаюсь разработкой и поддержкой CSI‑опросов в мобильном приложении «СберБанк Онлайн». Я несу ответственность за функционал, который используют бизнес‑команды для оценки удовлетворённости клиентов.

Часто бывает так, что новый сотрудник, приходя на большой проект, совершенно не знаком с таким понятием как unit‑тестирование. Что это? Как это работает? С чего начать? Такие вопросы часто появляются у начинающих разработчиков.

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

Читать далее
Total votes 10: ↑10 and ↓0+14
Comments2

Android: form builder на старых добрых View

Level of difficultyMedium
Reading time8 min
Views987

Привет всем! Хочу поделится идеей создания form builder-а, которую я реализовал некоторое время назад.

В приложении я писал модуль, отвечающий за платежи. По предварительным расчетам модуль должен был поддерживать более 300 платежей, каждый платеж приблизительно 10 экранов, т.е. это более 3000 различных экранов. Я тогда не использовал jetpack compose и от мысли, что мне придется написать огромное количество “View-based layouts” xml файлов (а потом их рефакторить и поддерживать) мне становилось как-то не по себе.

Мне предложили сделать form builder, который позволял бы легко и в декларативной манере добавлять новые экраны, не плодить огромное количество однотипных файлов и легко вносить изменения. Конечно jetpack compose позволяет достичь всего этого из коробки, но бывает, что по тем или иным причинам вы остаетесь на старом добром View UI и идея какого-либо builder-а может быть для вас актуальна.

Итак первое, что мне было нужно – это не плодить xml файлы тысячами. В идеале, хорошо бы иметь один общий файл формы и наполнять его различным содержимым. В моем случае формы были достаточно похожи друг на друга: набор ограниченного числа UI элементов и внизу формы кнопка типа “submit form” (иногда с какими-то пояснениями / ссылками под ней). Решил использовать RecyclerView, в который можно было динамически вставлять нужное количество элементов. Как-то так выглядел xml файл формы:

Читать далее
Total votes 4: ↑3 and ↓1+2
Comments1

Книга «Прикладные структуры данных и алгоритмы. Прокачиваем навыки»

Reading time12 min
Views12K
image Привет, Хаброжители!

Структуры данных и алгоритмы — это не абстрактные концепции, а турбина, способная превратить ваш софт в болид формулы 1. Научитесь использовать нотацию «О большое», выбирайте наиболее подходящие структуры данных, такие как хеш-таблицы, деревья и графы, чтобы повысить эффективность и быстродействие кода, что критически важно для современных мобильных и веб-приложений.

Книга полна реальных прикладных примеров на популярных языках программирования (Python, JavaScript и Ruby), которые помогут освоить структуры данных и алгоритмы и начать применять их в повседневной работе. Вы даже найдете слово, которое может существенно ускорить ваш код. Практикуйте новые навыки, выполняя упражнения и изучая подробные решения, которые приводятся в книге.

Начните использовать эти методы уже сейчас, чтобы сделать свой код более производительным и масштабируемым.
Читать дальше →
Total votes 8: ↑8 and ↓0+8
Comments6

Подробное руководство по Logcat в Android Studio с примерами

Level of difficultyEasy
Reading time12 min
Views7.1K

Logcat в Android Studio имеет множества функций, которые ускоряют отладку, тестирование и в целом поиск нужной информации в логах. Однако, большинство в лучшем случае использует только поиск по ключевому слову и даже не подозревают как сильно могут ускорить свою работу.

Здесь я расскажу про Logcat в Android Studio, какие у него есть возможности, как его кастомизировать и использовать по максимуму, с практическими советами в каких ситуациях та или иная фича может вам пригодиться. Материал будет полезен как начинающим тестировщикам, так и матёрым разработчикам, ведь это универсальный инструмент, ускоряющий работу, если знать о всех его хитростях.

Читать далее
Total votes 16: ↑16 and ↓0+16
Comments2

Инструменты Android-разработчика

Reading time14 min
Views9.6K

Будь эффективным — используй «туллинг»!

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

Читать далее
Total votes 38: ↑38 and ↓0+42
Comments8

Архитектура кроссплатформенного многомодульного приложения

Level of difficultyHard
Reading time11 min
Views5.6K

Хочу поделиться своим опытом создания кроссплатформенного приложения на базе kotlin-multiplatform (KMP), организации его архитектуры, настройки для работы с различными библиотеками и особенностями его работы. Статья подойдет в первую очередь разработчикам, которые уже имеют опыт с многомодульными проектами в android и начинают изучать KMP. В конце я опишу свою реализацию архитектурного паттерна MVI и его применение в проекте.

Читать далее
Total votes 7: ↑7 and ↓0+9
Comments2

Information

Rating
1,066-th
Location
Уфа, Башкортостан(Башкирия), Россия
Date of birth
Registered
Activity

Specialization

Mobile Application Developer
Middle
From 350,000 ₽
Git
OOP
Java
English
Kotlin
Development of mobile applications
RxJava 2
Dagger 2
Android development
Coroutines