Как стать автором
Обновить
144.86
Рейтинг

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

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

Сначала показывать
  • Новые
  • Лучшие
Порог рейтинга
  • Все
  • ≥0
  • ≥10
  • ≥25
  • ≥50
  • ≥100

Уместить все ЦОДы и облака в карман инженера за счет мобильного «Сервисдеска»

Блог компании DataLine Разработка мобильных приложений *Разработка под Android *Help Desk Software *Service Desk *

Привет! На связи Алексей Волков, и я опять про «Сервисдеск» в DataLine. На сей раз покажу его мобильную реинкарнацию.

Три года назад мы создали десктопную систему для работы с заявками в техподдержку и дали ей говорящее название «Сервисдеск». Сейчас это решение работает во всех дата-центрах объединенной команды DataLine и «Ростелеком-ЦОД» и охватывает около 700 ежедневно активных пользователей. Мобильная версия «Сервисдеска» была лишь вопросом времени: доступность любых внутренних систем с портативных устройств сразу ускоряет цикл обработки запросов. А для клиентских заявок в техподдержку это особенно важно.

Под катом — краткая предыстория разработки мобильного клиента для «Сервисдеска» и демонстрация сценариев его работы.

Читать далее
Всего голосов 12: ↑12 и ↓0 +12
Просмотры 558
Комментарии 2

Укрощение feature-флагов

Блог компании HeadHunter Разработка мобильных приложений *Разработка под Android *

Всем привет! Меня зовут Паша Стрельченко, и я — Android-разработчик в hh.ru. В этой статье расскажу об укрощении feature-флагов. Если больше нравится аудиовизуальный формат, его можно найти на нашем youtube-канале. В статье я расскажу чуть больше технических подробностей, чем в видео, так что должно получиться интересно.

Читать далее
Всего голосов 17: ↑16 и ↓1 +15
Просмотры 1.5K
Комментарии 0

База данных на SharedPreferences — Android Kotlin

Блог компании FirstVDS Программирование *Разработка под Android *Kotlin *
image

Для хранения большого количества информации в Android используется DataBase (SQLite, FireBase и т. п.), а для простого хранения настроек — SharedPreferences. Вопрос, можно ли использовать SharedPreferences как своего рода Базу Данных и как это сделать?
Статья написана об учебном проекте, повторять такое на проде нельзя, как минимум это небезопасно. Намеренно используется не самая лучшая реализация тех или иных вещей, чтобы можно было подискутировать в комментариях.
Читать дальше →
Всего голосов 12: ↑11 и ↓1 +10
Просмотры 1K
Комментарии 2

Jetpack Compose — как легко построить UI на Android

Блог компании FUNCORP Разработка мобильных приложений *Интерфейсы *Разработка под Android *Kotlin *

В июле этого года вместе с Android Studio Arctic Fox вышла одна из долгожданных библиотек — Jetpack Compose. Она позволяет создавать пользовательский интерфейс в декларативном стиле и обещает быть революцией в построении UI.

Разбираемся, так ли это на самом деле, какие у библиотеки преимущества и недостатки. Подробности — в статье.

Читать далее
Всего голосов 48: ↑43 и ↓5 +38
Просмотры 6.2K
Комментарии 14

Сервис отложенных запросов для Retrofit на Android

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

Как Вы обрабатываете отсутствие доступа в интернет в своем приложении? Показываете сообщение "Нет интернета, попробуйте позже"? Допустим случай, когда мы хотим гарантировать выполнение сетевого запроса пользователя, а не заставлять его искать интернет и снова повторять не удавшиеся запросы. Давайте создадим такую ситуацию и научимся ее обрабатывать. Реализованный пример, как обычно можно скачать по ссылке на GitHub в конце статьи!

Читать далее
Всего голосов 1: ↑1 и ↓0 +1
Просмотры 1K
Комментарии 2

Flutter: о разработке плагинов с интерфейсом ActivityAware

Java *Разработка мобильных приложений *Разработка под Android *Dart *Flutter *


В былые времена клиенты присылали цветные изображения документов со сканера по емейлу. Кто ленился или не мог — отправлял свой загранник по почте. С этим неплохо справлялось решение от ABBYY. Потом появились телефоны и люди стали присылать фотографии паспортов. ABBYY сломался. Перешли на решение от Smart Engines и даже с фотографиями, посланными через WhatsApp особых проблем не было. Но потом пошли умные мобилки с включенными по умолчанию водяными знаками типа «Xiaomi 9T» часто перекрывающими важнейшую часть паспорта. Вдобавок к этому наличие в кадре на фотографии пальцев и бликов тормозило общение с клиентом.

Примеры паспортов, непригодных к распознаванию

Когда паспорт распознается в видеопотоке на телефоне клиента, то этой проблемы так остро не стоит. Почему?

  1. Мобильное ядро отображает рамку документа в процессе распознавания, не просто маску поверх видео, а именно рамку документа, находящегося в руках. По моим ощущениям, это дает человеку понимание, где не должно быть его пальцев. Вообще, это интересная тема для отдельного исследования.
  2. Система использует механизм сатурации данными и готова выдать результат только после определенной уверенности в них.
Читать дальше →
Всего голосов 7: ↑6 и ↓1 +5
Просмотры 2.2K
Комментарии 7

Дайджест интересных материалов для мобильного разработчика #412 (20 — 26 сентября)

Блог компании Productivity Inside Разработка под iOS *Разработка мобильных приложений *Разработка под Android *
В этой подборке 0-day уязвимости в iOS и скорость сборки для нее же, StoreKit 2 и Swift 5.5, тестовая ферма и правильная валидация для Android, битва снифферов, игры со шрифтами, подготовка к FAANG, релизные циклы и многое другое!

Читать дальше →
Всего голосов 8: ↑7 и ↓1 +6
Просмотры 1.9K
Комментарии 0

Подключение SignalR для Android на Kotlin

Разработка под Android *Kotlin *
Из песочницы

SignalR предоставляет один из самых простых и быстрых способов создания приложений реального времени на веб, настольных и мобильных платформах. Изначально Signal был создан Microsoft для приложений .Net. Рассмотрим, как можно реализовать данный механизм в мобильном приложении под андроид.

Читать далее
Всего голосов 11: ↑8 и ↓3 +5
Просмотры 1.6K
Комментарии 2

Мой рецепт MVI в Android

Разработка под Android *Kotlin *
Из песочницы

Как известно, MVI строится на основе трех компонентов - модели, намерения (действия) и состояния экрана. Логика приложения диктуется пользователем, например, он хочет загрузить картинку в высоком разрешении, и различными внешними эффектами (далее - side-effects), например, внезапной потерей соединения.

Мне хотелось создать механизм, который будет способен обрабатывать намерения пользователя и их следствия (что-то внешнее, например ответ от api). Для этого я решил создать три интерфейса-маркера, которые будут отвечать за какое-либо событие, состояние экрана и не влияющие на состояние экрана уведомления.

Читать далее
Всего голосов 11: ↑9 и ↓2 +7
Просмотры 1.5K
Комментарии 3

In-app purchases: продвинутые механики работы с покупками на Android и iOS

Блог компании Adapty Разработка под iOS *Разработка мобильных приложений *Разработка под Android *
Tutorial

Привет, я Влад, core разработчик Adapty SDK для Android. Это заключительная статья из серии туториалов по внедрению внутренних покупок в приложениях Google Play и App Store.

В заключительной статье мы решили не замыкаться на одной платформе, а рассказать о продвинутых практиках работы с покупками на iOS и Android и показать, как сервер расширяет наши возможности при работе с подписками и какие преимущества даёт.

Читать далее
Рейтинг 0
Просмотры 634
Комментарии 0

Тестовая ферма из Android-устройств: как собрать, отладить и не взорвать офис

Блог компании Mail.ru Group Разработка мобильных приложений *Разработка под Android *Тестирование мобильных приложений *


У нас был небольшой бюджет и большие проблемы с рутинным тестированием в match3-игре, у которой накопилось более 1500 уровней. А вот чего у нас не было, так это идеально подходящего коробочного решения, работающего на лету и без пересборок. Поэтому мы нагородили собственную ферму с высаженной грядкой из десятка Xiaomi, отправкой статистики, отчетами в Slack, блекджеком и коровой.

Я Павел Щеваев, CTO студии BIT.GAMES, которая является частью международного игрового бренда MY.GAMES. Вы можете знать нас по RPG «Гильдия Героев», а ваши мамы — по «Домовятам» в Одноклассниках. Да, это были мы. :) Но сегодня речь пойдет о нашем новом проекте Storyngton Hall. Это головоломка «три в ряд» с сюжетом, по которому красивые леди разгадывают загадки, декорируют комнаты, примеряют платья, устраивают балы, и, в конце концов, выходят замуж.
Читать дальше →
Всего голосов 24: ↑24 и ↓0 +24
Просмотры 5.4K
Комментарии 14

Android RecyclerView с использованием котлиновских sealed классов

Блог компании OTUS Программирование *Разработка под Android *
Перевод

RecyclerView — это один из самых лучших инструментов для отображения больших списков на Android. Как разработчики, вы, скорее всего понимаете о чем я говорю. У нас есть много дополнительных фич, таких как шаблоны вью холдеров, сложная анимация, Diff-Utils колбек для повышения производительности и т. д. Такие приложения, как WhatsApp и Gmail, используют RecyclerView для отображения бесконечного количества сообщений.

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

Правильная валидация в Android

Разработка под Android *Kotlin *
Из песочницы

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

Читать далее
Всего голосов 8: ↑8 и ↓0 +8
Просмотры 1.9K
Комментарии 0

Jetpack Microbenchmark — тестируем производительность кода

Блог компании FUNCORP Разработка мобильных приложений *Разработка под Android *Тестирование мобильных приложений *Kotlin *

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

В этой статье расскажу, как устроена и работает библиотека Microbenchmark от Google, а также покажу примеры использования. С ней можно не только оценить производительность, но и решить спорные ситуации на код-ревью.

Читать далее
Всего голосов 43: ↑42 и ↓1 +41
Просмотры 2.9K
Комментарии 0

Чему я научился делая игры на LibGDX

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

Привет, Хабр! 👋 В этом топике хочу поговорить о незаслуженно забытом, бесплатном фреймворке для разработки кросс-платформенных игр - LibGDX. Поделиться секретами своей кухни и решениями, которые я использую при разработке своих игр-головоломок. Ворнинг! Много кода под катом.

Читать далее
Всего голосов 16: ↑16 и ↓0 +16
Просмотры 4.4K
Комментарии 13

Дайджест интересных материалов для мобильного разработчика #411 (13 — 19 сентября)

Блог компании Productivity Inside Разработка под iOS *Разработка мобильных приложений *Разработка под Android *
В новом дайжесте новые устройства Apple и автоматизация повышения качества кода, ускорение сборки и Jetpack для Wear OS, 16 советов по UX и UI дизайну, количество приложений на Flutter и React Native, ATT-согласие и многое другое!

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

Kotlin Native. Работаем с новой моделью памяти

Разработка под iOS *Разработка мобильных приложений *Разработка под Android *Kotlin *
Tutorial

Всем доброго дня! С вами Анна Жаркова, ведущий мобильный разработчик компании Usetech. Продолжаем рассматривать способы многопоточный работы в Kotlin Native. В предыдущих статьях мы уже рассмотрели существующие способы работы с многопоточностью с корутинами и без, и что делать с имеющимися болями. Теперь поговорим о новой модели управления памятью, которая появилась совсем недавно.

31 августа компания JetBrains представили превью новой модели управления памятью в Kotlin Native. Основной упор команда разработчиков сделала на безопасность шаринга между потоками, устранение утечек памяти и освобождение нас от использования специальных аннотаций. Также доработка коснулась Coroutines, и теперь можно без опаски переключаться между контекстами корутин без заморозки. Обновления подхватили и Ktor:  

Итак, что же нового появится в версии Kotlin 1.6.0-M1-139: 
1. Заявлено, что мы можем убрать все freeze() блоки (в том числе и во всех фоновых Worker), и переключаться между контекстами и потоками без каких-либо проблем. 

2.Использование AtomicReference или FreezableAtomicReference не приводит к утечкам памяти.

3.При работе с глобальными константами не нужно теперь использовать SharedImmutable.

4.При работе с Worker.execute producer больше не требует возвращать изолированный подграф объектов. 

Однако есть и нюансы:

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

8 распространенных ошибок при разработке Android-приложений

Блог компании OTUS Программирование *Разработка под Android *
Перевод

Экосистема Android стремительно растет по всему миру и распространяется на различные группы людей. Люди из разных слоев общества, люди с ограниченными возможностями, пользователи, которые просто хотят иметь новомодные фичи, такие как ночной режим (темная тема), начинают использовать приложения Android в своей повседневной жизни.

Читать далее
Всего голосов 11: ↑8 и ↓3 +5
Просмотры 4.6K
Комментарии 1

Загружаемые изображения для Jetpack Compose с использованием Glide, Coil и Fresco

Блог компании OTUS Программирование *Разработка под Android *
Перевод

Новый современный набор инструментов пользовательского интерфейса Jetpack Compose был анонсирован компанией Google более года назад, и, наконец, в июле была выпущена стабильная версия 1.0. Также многие компании, такие как Twitter, lyft, Square, уже адаптировали Jetpack Compose на своих производственных уровнях, потому что он очень интуитивный, мощный и упрощает всю структуру пользовательского интерфейса, если правильно его использовать. Эта новая парадигма структуры пользовательского интерфейса поменяет в дальнейшем очень многое, также нам придется приложить еще немало усилий для миграции предыдущих вещей, связанных с пользовательским интерфейсом, таких как загрузка изображений из Url. 

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

Вклад авторов