Программа распознавания товаров по штрих коду. Лучшие приложения для считывания штрих кодов
В частности, для проведения инвентаризаций, создания штрих-кодов и так далее. Также большинство подобных приложений обладает функциями отправки отчётов по e-mail или уведомления о нехватке товаров на складах. Мы собрали лучшие приложения для сканирования штрих кодов для iOS и Android.
ТОП приложений для сканирования штрих-кодов.
Это простое приложение с несложной функциональностью. Но иногда это именно то, что нужно пользователям. Приложение распознаёт штрих-коды и хранит их в центральной базе данных, заносит в электронную таблицу именно то, что вы ищете.
ОС: iOS, Android
Особенности программы:
- отметки даты и времени;
- пользовательские поля для ввода данных;
- поддерживает одну большую базу данных.
Стоимость:
- Android — $0,99;
- iTunes — $2,99.
С QuickMark вы можете не только сканировать, но и создавать штрих-коды и QR-коды. Кроссплатформенный сканер считывает несколько форматов штрих-кодов, что делает его одним из самых универсальных приложений для работы с кодами. Вы можете быстро и легко сохранять URL-адреса, названия элементов, местоположения и многое другое. В целом пользователи довольны работой утилиты, хотя некоторые отмечают неточное сканирование кодов.
ОС: Android, iOS, Windows.
Особенности программы:
- быстро сканирует несколько QR-кодов и штрих-кодов;
- полностью совместимо с несколькими устройствами;
- прикрепление изображений к записям;
- точный и простой.
Стоимость: бесплатно.
ScanLife – приложение-сканер штрих-кодов, позволяет сканировать QR-коды и штрих-коды на любом продукте и извлекать информацию, такую как данные о производителе и ингредиенты, цены и близлежащие места, где можно приобрести такие товары в режиме реального времени. Приложение ScanLife является частью более крупной платформы для компаний, которые хотят привлечь как можно больше пользователей мобильных устройств, включив QR-код в свою маркетинговую стратегию.
ОС: iOS, Android.
Особенности программы:
Стоимость: от $0 до $85 в месяц.
BarCloud
BarCloud является удалённой программой управления активами или инвентарём, доступной с любого устройства iOS или Android, а также из любого интернет-браузера. Благодаря автоматическому резервному копированию и возможности планирования пользовательских резервных копий ваши данные всегда в безопасности и доступны с любого девайса. Поддерживаются простой подсчёт инвентаря для сложных систем, таких как пакетная и серийная инвентаризация, поэтому активами с помощью системы регистрации BarCloud вы никогда не потеряете контроль над общими данными.
ОС: iOS, Android
Особенности программы:
- вводите данные вручную или сканируйте изображение;
- поставщики, клиенты, товары, местоположения и другие данные;
- поиск и просмотр файлов;
- фильтры;
- экспорт данных в PDF или Excel;
- инструменты визуальной аналитики;
- просроченные товары, истекающие сроки, низкий запас.
Есть бесплатная версия. Стоимость премиум – от $25 до $125 в месяц.
NeoReader получил массу положительных отзывов пользователей iTunes и Google Play. Самая последняя намного лучше, чем предыдущие. Большинство пользователей утверждают, что софт сканирует практически любой код, в отличие от обычных приложений-сканеров, которые при попытке скана могут показать ошибку.
ОС: Android, iOS, Blackberry, Windows, Ovi.
Особенности программы:
Стоимость: бесплатно.
I-nigma можно скачать бесплатно, но для компенсации некоторых расходов на разработку и текущие исправления компания использует рекламу. Поэтому на панели управления могут быть показаны объявления, хотя на функциональность утилиты это никак не влияет. Софт расшифровывает vCards и MeCards, мгновенно сохраняя контактную информацию в списке контактов вашего телефона, открывает карты с помощью Geo-кодов и добавляет события в календарь. Конечно, утилита сканирует стандартные QR, DataMatrix и UPC/EAN.
ОС: iOS, Android, Blackberry, Windows.
Особенности:
Стоимость: бесплатно.
Lynkee – приложение для сканирования штрих-кодов на Андроид, Айфон и Виндовс, ориентированное, скорее, на потребителя, чем на управление запасами или активами. Это , способное сканировать различные штрих-коды 1D и 2D, включая DataMatrix, vCards и MECARD для хранения контактной информации, сравнения цен, поиска в истории сканирования и т. д. Утилита быстрая и точная.
ОС: Android, iOS, Windows.
Особенности:
Стоимость: бесплатно.
Приложение для штриховой проверки товаров, которое поддерживает штрих-коды 2D, Bidi и 1D (DataMatrix/QR/Ean 8 и 13). Пользователи могут бесплатно создавать свои собственные оптические штрих-коды и сканировать любой поддерживаемый формат для быстрого доступа к контенту, например, музыке, изображениям, видео, файлам, веб-сайтам и т. д. Встроенные функции совместного доступа позволяют вам делиться отсканированным контентом. Доступно на Андроид и Айфон.
ОС: iOS, Android, Lumia и Windows.
Особенности:
- быстро сканирует 2D, Bidi, 1D;
- поддерживает DataMatrix, QR, Ean 8 и 13 1D;
- создайте свои собственные оптические штрих-коды;
- доступ к музыке, видео, веб-сайтам и другому контенту.
Стоимость: бесплатно.
Бесплатное приложение для чтения штрих-кодов Bee Tagg довольно сложное с точки зрения его функциональности сканирования, но оно не предлагает каких-либо всеобъемлющих встроенных возможностей базы данных. Тем не менее, вы можете копировать и вставлять информацию и коды для последующего использования.
ОС: iOS, Blackberry, Android, Windows, Samsung, Ovi.
Особенности программы:
- выходит за рамки простого открытия окна браузера;
- контекстные действия;
- получает больше информации, чем большинство приложений-сканеров;
- 2D-коды, включая QR-коды, коды Bee Tagg и DataMatrix;
- 1D, включая EAN-13 и UPC-A;
- создайте свой собственный код для обмена информацией;
- поддерживает различные типы контента, включая vCard, MeCard, Text, SMS, eMail, Geo, Event.
Стоимость: бесплатно.
Kaywa
Kaywa утверждает, что это лучшее приложение для определения штрих-кодов, и пользователи, похоже, в большинстве случаев с этим согласны. Это приложение получило массу положительных отзывов как в iTunes, так и в Google Play. При этом данные хранятся во внутренней памяти вашего телефона. Это означает, что софт может повлиять на скорость работы девайса. Но это компенсируется за счёт простоты использования и скорости работы. Утилита доступна для Андроид и iPhone.
ОС: Android, iOS.
Особенности программы:
- бесплатный генератор QR-кода;
- сканирование всех типов штрих-кодов;
- автоматически определяет тип кода;
- история сканирования с текстовыми и геолокационными данными.
Стоимость: бесплатно.
Accusoft Barcode Scanner было создано для демонстрации функциональности Barcode Xpress for Mobile, SDK для штрих-кодов Accusoft для Android. Он предназначен для предприятий и разработчиков, которые хотят создать приложение для работы с штрих-кодами для устройств Android, интегрируя мощные возможности декодирования в настраиваемое приложение, разработанное специально для требований вашей компании. Для мгновенного декодирования расположите штрих-код в середине экрана. В зависимости от данных, хранящихся в нём, вы можете быть перенаправлены на веб-сайт, посмотреть информацию о продукте и т. д. Распознаёт множество 1D и 2D кодов.
Особенности:
Стоимость: бесплатно.
ixMAT использует программное обеспечение на базе Java, чтобы превратить ваше устройство в сканер штрих-кода. Это бесплатное приложение разработано для устройств Android, Blackberry, Windows Mobile и Java ME, но недоступно для iPhone или iPad. Поддерживает множество 1D и 2D кодов, автоматический анализ, без необходимости вводить тип штрих-кода.
Особенности программы:
- возможность сканирования перевёрнутых кодов DataMatrix и штрих-кодов;
- быстрый поиск;
- история сканирования;
- массовый режим;
- отправить небольшие текстовые файлы по электронной почте
- не совместим с устройствами iOS.
Стоимость: бесплатно.
Stock Control
Приложение для сканирования штрих-кодов, разработанное Kiwi Objects, предназначено для повышения производительности, предоставляя вам контроль над проведением инвентаризации. Сканируйте объекты, упорядочивайте базу данных по категориям, типу или функциям (доступна любая иерархия).
Особенности программы:
- усовершенствованное управление данными;
- организация по категориям – можно создавать логические иерархии;
- предупреждения о нехватке товаров;
- импорт и экспорт;
- каталоги PDF, печать и отправка по e-mail.
Стоимость: бесплатно.
Scandit – это SDK, который позволяет предприятиям использовать сканирование штрих-кодов в своих мобильных приложениях. SDK похож на API для разработчиков, поскольку он позволяет компаниям создавать мобильные приложения для iOS или Android. Не совсем традиционное готовое мобильное приложение, Scandit – это оболочка для интеграции функционала сканеров штрих-кодов на мобильные гаджеты. Подойдёт для предприятий, вводящих в действие собственные мобильные приложения. Доступно как для Андроид, так и для iPhone.
ОС: iOS, Android, Symbian.
Особенности программы:
- превращение смартфонов и планшетов в сканеры штрих-кодов;
- быстрое и точное сканирование штрих-кода;
- широкий спектр поддерживаемых символов;
- не требует автофокусировки;
- сканирование под любым углом;
- размер не влияет на точность.
Есть бесплатная версия. Премиум-подписка обойдётся в $399 в месяц.
Посещение супермаркетов с такими приложениями станет гораздо веселее. При этом их можно использовать и в собственном бизнесе – для создания штрих-кодов или проведения инвентаризации. Конечно, за премиум-функции придётся заплатить, но чаще всего речь идёт о незначительной сумме, которая быстро себя окупит.
Важным элементом системы автоматического управления магазином, складом или другим предприятием является сканер штрих-кода для компьютера. Данное устройство превращает информацию, записанную на этикетке товара с помощью штрихов, в запись с наименованием товара.
Виды устройств для считывания штрих-кодов
Перед тем как приобрести и установить данное устройство, вам будет полезно знать, какие бывают сканеры штрихкодов. В специальной литературе различают такие модели устройств со светодиодной и лазерной подсветкой.
Перьевое устройство для считывания штрих-кодов
Wand сканер штрих-кода для компьютера, или как его еще называют перьевой, - это недорогое и надежное устройство. При работе нужно хорошо прижать его к поверхности, на которую нанесен код, и провести его вдоль всей упаковки. Для считывания информации он использует источник света небольшой мощности, луч которого обязан пересечь код от начала и до конца.
CCD устройства
Ручной CCD сканер штрих-кода для компьютера использует технологию чтения информации, основанную на том же принципе, что и в факсах. Известны CCD сканеры двух типов: контактные и бесконтактные. При использовании контактной модели оператору нужно приложить сканер к этикетке с кодом и нажать на кнопку. Главным недостатком таких сканеров является то, что они плохо работают на неровных поверхностях. В конструкции бесконтактных CCD сканерах используются и чувствительные фотодатчики, что позволяет им считывать изображение на расстоянии от 6 до 30 сантиметров.
Image-сканер, или как их еще называют фото-сканер, использует ту же CCD матрицу что и фотоаппараты или видеокамеры. Этот сканер кода считывает всю информацию полностью и его не нужно специально ориентировать относительно упаковки.
Лазерные устройства для считывания
Ручной лазерный сканер штрих-кода для компьютера удобен и прост в эксплуатации. Его рабочая зона может достигать 20-110 сантиметров, а у некоторых до 10 метров.
Многолучевые лазерные сканеры
Стационарный многолучевой проекционный лазерный сканер формирует рабочую зону, которая состоит из нескольких лучей. Для того чтобы он мог считать информацию, достаточно чтобы как минимум один из множества лучей пересек все штрихи. Такие устройства бывают двух типов: встраиваемые, которые устанавливаются в кассовый прилавок, и проекционные.
Комбинированный многолучевой сканер устроен так же, как и стационарный, его главным отличаем является то, что его можно взять в руки. Рабочая зона, в которой происходит распознавание штрих-кодов (бар-кодов), таких устройств уменьшена по сравнению со стационарными.
Биоптический сканер создает две рабочие зоны, в которых имеется множество лазерных лучей. Существуют модели таких сканеров оснащенные весами.
Как установить сканер для чтения штрих-кода?
Прежде чем использовать сканер, требуется подключить его к компьютеру и установить необходимое программное обеспечение. Существуют три разновидности устройств по способу подсоединения его к компьютеру:
1. «В разрыв клавиатуры».
2. С использованием (как его еще называют RS232).
3. С использованием USB-порта, который эмулирует интерфейс RS232.
Рассмотрим подробнее все три способа подключения.
Подключение устройства для чтения штрих-кода «в разрыв клавиатуры»
Клавиатурный порт называется PS/2 и применяется для присоединения к компьютеру как клавиатуры, так и мышки. Сейчас многие материнские платы имеют всего один такой разъем, а в современных нетбуках и ноутбуках он отсутствует.
Чтобы подключить устройство для считывания клавиатуры, нужно сначала выключить компьютер, извлечь из разъема клавиатуру и вставить вместо нее сканер. После этого нужно подключить клавиатуру к сканеру. После того как вы все подсоединили, можно включать сканер и компьютер в электрическую сеть.
После сканирования штрих-кода устройством, оснащенным этим интерфейсом, код вставляется туда, где находился курсор, так как если бы вы набрали его на клавиатуре. Таким образом, если сканер не может считать код или вышел из строя, ввести код можно и непосредственно при помощи клавиатуры.
Те, кто занимается сканированием штрих-кодов устройством с подобным интерфейсом, должны обращать внимание на раскладку клавиатуры при распознавании серийных номеров, в которых есть буквы. Например, при включенной русской раскладке клавиатуры вместо кода a/n123215654QWE считается ф/т123215654ЙЦУ.
Такой способ подключения экономит один или USB, что может пригодиться при подключении к компьютеру множества различных устройств, например, принтера печатающего устройства, весов и других устройств, необходимых для работы кассира. Также сканер штриховых кодов с подключением «в разрыв клавиатуры» применяется при использовании программы для штрих-кодов, которая способна работать только с подобными приспособлениями.
Установка устройства для чтения штрих-кода по COM-интерфейсу
СОМ или RS-232 порт — это два разных обозначения одного интерфейса, через который к персональному компьютеру можно подключить разнообразные девайсы. Данный разъем выполнен в виде прямоугольника, который состоит из двух рядов штырьков (в одном ряду 5, в другом 4). Информация от разнообразных внешних устройств, при использовании этого способа передачи, поступает последовательно, по двум проводам. По проводу Rx информация поступает в компьютер, а по Tx в устройство передаются управляющие сигналы. Иногда для корректной работы программ задействуются дополнительные линии RTS и CTS. Сейчас еще можно найти системные платы с одним разъемом RS-232, но на всех современных нетбуках и ноутбуках он отсутствует.
Чтобы установить сканер, его нужно сначала подсоединить к COM порту компьютера, после чего любая операционная система найдет его и попросит установить необходимые драйверы. Их можно найти или на диске, который идет вместе с устройством, или скачать в интернете. Некоторые производители сканеров предоставляют специальные программы, с помощью которых можно управлять громкостью подачи сигнала или установить служебные символы.
Сканер штрих-кодов можно присоединить к компьютеру с помощью специального переходника с USB на COM-интерфейс, который нужно вставить в USB и проинсталлировать драйвер (специальная программа сканера штрих-кодов). При корректной установке устройства в системе обнаружится виртуальный интерфейс стандарта RS-232, использование которого не должно сильно отличаться от работы с обычным последовательным подключением.
Сканер штрих-кодов с COM-портом можно подключить к кассовому аппарату или другому оборудованию, которое оснащено RS-232 интерфейсом. Для такого соединения используются переходники от разъема, который используется в устройстве, считывающем штрих-коды, на разъем RJ-45 (или 11). После этого нужно настроить параметры соединения в устройстве сканирования.
Также данный тип соединения используется, если кодов специально слушает порт и при обнаружении кода вставляет его в нужное место. При этом не важно, где в данный момент располагается курсор.
Как подключить сканер штрих-кода компьютера с USB интерфейсом?
Любой современный компьютер, нетбук, ноутбук оснащен портом USB. В этом стандарте данные передаются последовательно по двум проводам, еще два провода служат для подачи напряжения на устройства, которые подключаются к ПК.
Основным преимуществом этих устройств для считывания штрих-кода компьютера является их большая скорость обмена данными и возможность подключения к работающему компьютеру. Небольшие ручные сканеры штриховых кодов потребляют небольшое количество электроэнергии, поэтому их питание осуществляется от USB порта. Многоплоскостные устройства для считывания более мощные и поэтому имеют отдельный блок питания.
Установка сканера не должна вызывать затруднений, ведь все современные операционные системы распознают устройство для считывания кодов как обычную клавиатуру, поэтому для своей работы они не требуют никаких драйверов. После того, как штрих-код отсканирован, программа вставляет его туда, где находиться курсор.
Многие сканеры штриховых кодов, которые подключаются на USB порт, можно заставить работать в режиме, в котором он будет эмулировать RS-232 порт. Чаще всего для этого требуется считать специальный штрих-код, который дан в инструкции и инсталлировать драйвер виртуального порта. После перевода устройства в режим эмуляции COM-интерфейса, его использование будет таким же, как и для обычного сканера, работающего со стандартом RS-232.
Во многих устройствах для считываниясуществует возможность устанавливать символы, которые будут передаваться перед и после штрих-кода. Так, перед чтением кода многим пользователям было бы удобно, если бы сканер передавал один из таких символов, как Insert, F1 или F9. Благодаря такой возможности уменьшается число нажатий на клавиатуру оператором и облегчается его работа.
Проверка правильности подключения и работоспособности сканера
После того как установка сканера штрих-кода закончена, нужно проверить работу устройства.
Для того чтобы убедиться, что сканер, подключенный «в разрыв клавиатуры» или через USB-разъем, работает правильно, нужно запустить любой текстовый редактор, например «Блокнот», и попытаться отсканировать код. Если на экране появятся символы, то устройство настроено правильно.
Если ваше устройство для чтения штриховых кодов подключено к RS-232 или работает через USB в режиме COM-интерфейса, то предварительно требуется запустить любую терминальную программу и настроить ее на нужный порт. После этого можно считывать код с упаковки. При правильной настройке на экране должны появиться считываемые символы.
QR коды сейчас используются повсеместно. Они встречаются на упаковках товаров, визитных карточках и даже на сайтах в интернете. Прочитать такой код, не используя специальное приложение — не получится. В связи с этим важно иметь сканер для кодов на своем устройстве Андроид. Тройку лучших QR сканеров, а также их особенности, достоинства и недостатки, рассмотрим далее по тексту.
[ Скрыть ]
Ad Free)QR Scanner for Android
Одно из лучших в своем роде, полностью бесплатное приложение для считывания QR и штрихкодов. Программа занимает менее 2 Мб в памяти устройства, практически не загружает ОЗУ и хорошо оптимизирована для большинства смартфонов.
Описание
Если вы не знаете, как считать код, то Ad Free)QR Scanner for Android станет оптимальным выбором. Прога максимально проста в управлении и имеет приятный пользовательский интерфейс всего с тремя кнопками на главном меню. Для того, чтобы просканировать qr или штрих-код, не нужно подключение к интернету. Алгоритмы сканера хорошо проработаны и позволяют практически мгновенно распознавать все стандартные типы кодов. Просмотреть историю сканирования можно в заранее созданной приложением папке в памяти устройства.
Плюсы и минусы
- возможность считывать qr и штрих коды;
- простота в использовании;
- работа в оффлайн режиме;
- поддерживание вспышки на телефоне;
- сохранение историю сканирования.
К недостаткам утилиты стоит отнести отсутствие русского языка в меню.
QR & Barcode Scanner
Утилита для чтения и распознавания QR и штрих-кодов, с одноименным названием, имеет более 100 млн скачиваний с фирменного магазина. Для ее установки понадобится не менее 3.6 Мб свободного места в памяти устройства и версия ОС Андроид не ниже 2.2.3.
Описание
Если вы не знаете, как пользоваться этим приложением, то просто наведите камеру смартфона на код, включив предварительно QR & Barcode Scanner. Весь процесс сканирования происходит автоматически, при этом не важно на какой поверхности будет находится изображение. Интерфейс данного приложения отличается простотой, и содержит всего несколько функциональных кнопок. Просканировав нужное изображение, вы получаете не просто ссылку на сайт, а открытый браузер с указанной страницей.
Плюсы и минусы
Программа вобрала в себя лучшие возможности других подобных утилит. К ее достоинствам можно отнести такие пункты:
- Сканирование штрих-кода на любой поверхности.
- Совместимость со старыми моделями телефонов.
- Самая быстрая программа, сканирующая все стандартные типы кодов.
Недостаток все тот же — отсутствует русский язык. А все немногочисленные баги при сканировании связаны не с проблемами утилиты, а низким разрешением камеры самого телефона.
Скачать
QR Droid Code Scanner
Интуитивно понятная и многофункциональная утилита для сканирования штрих-кодов. Для установки QR Droid Code Scanner потребуется версия ОС Андроид 2.0 либо выше и не менее 18 Мб в памяти устройства.
Описание
QR Droid отличает от других прежде всего приятный и доступный интерфейс. Как и предыдущих случаях, для сканирования нужно лишь активировать приложение и навести камеру на нужное изображение. Если оно содержит в себе ссылку на веб-страницу, то автоматически запустится браузер на вашем смартфоне. По необходимости эту функцию можно отключить либо же изменить браузер, используемый по умолчанию. Уникальной особенностью утилиты является возможность создать свой QR код с нужной информацией, без надобности скачивать дополнительные расширения и программы.
Плюсы и минусы
Ознакомившись с возможностями приложения, можно выделить такие достоинства:
- высокая скорость считывания;
- возможность создавать свои изображения кодов;
- русский интерфейс.
Скачать
Итоги
Мы рассмотрели особенности 3 лучших приложений на Андроид для сканирования QR и штрих-кодов на этикетках, сайтах и т.д. Они могут помочь сэкономить на покупке товара или узнать нужную информацию там, где обычными средствами этого сделать не получится. Какой скачать сканер штрих-кодов на свое устройство, решать непосредственно пользователям, ведь все утилиты достойно себя проявили. Но если вам необходимо создавать свои QR-коды с информацией, то однозначно стоит выбрать QR Droid Code Scanner.
Извините, в настоящее время нет доступных опросов.
Видео« QR Droid Android Demo on Qmobile A8»
В данном видео вы увидите, как можно использовать приложение-сканер.
В этом уроке научимся создавать приложение для чтения штрих-кодов и QR-кодов с использованием стандартной библиотеки Mobile Vision API.
Еще с выпуском Google Play services версии 7.8 разработчики добавили интерфейсы Mobile Vision, которые обеспечивают API для обнаружения штрих-кода. Они считывают и декодируют множество различных типов штрих-кодов, быстро, легко и локально.
Классы для обнаружения и анализа штрих-кодов доступны в пространстве имен com.google.android.gms.vision.barcode. Основной рабочей лошадкой является класс BarcodeDetector . Он выполняет обработку объектов Frame и возвращает массив штрих-кодов SparseArray
Тип Barcode представляет собой единый общепризнанный штрих-код и его значение. В случае 1D штрих-кодов, таких как коды UPC , это будет просто номер, который закодирован в штрих-коде. Его значение доступно в поле rawValue, в то время как тип штрих-кода (то есть его кодировку) можно найти в поле format.
Для 2D штрих-кодов, которые содержат структурированные данные, такие как QR-коды — в поле valueFormat устанавливается определенный тип значения, соответствующего полю данных. Так, например, если обнаружен тип URL , то поле valueFormat вернет константу URL, а объект Barcode.UrlBookmark будет содержать значение URL-адреса. Помимо URL-адресов, существует множество различных типов данных, которые QR-код может хранить. Например, почтовый адрес, дату и время события календаря, мероприятие в календаре, информацию контакта, номер телефона, местоположение на карте и другие данные, полный список которых приводится в документации. Ссылки на документацию .
Использование в приложении Mobile Vision API позволяет считывать штрих-коды в любом положении.
Важно отметить, что синтаксический разбор всех штрих-кодов выполняется локально, поэтому вам не нужно использовать соединение с сервером для чтения данных из кода. Например, при считывании линейного штрих-кода PDF-417 , который может вместить до 1 КБ текста, можно сразу же получить всю закодированную в нем информацию.
Итак, для разработки приложения нам понадобится:
- Среда разработки Android Studio
- Смартфон на Android 4.2.2 или более поздней версии
- Последняя версия Android SDK, включая компонент SDK tools. Вы можете получить его с помощью Android SDK Manager в Android Studio.
- Google Play Services SDK. Вы можете получить его также в Android SDK Manager в Android Studio.
Создаем новый проект в Android Studio. При создании выбираем шаблон Empty Activity.
На следующем шаге нужно убедиться, что ваше приложение может использовать службы Google Play, в состав которых входит Mobile Vision API. Для этого нужно обновить файл build.gradle вашего проекта.
В секции зависимостей должны быть такие строки. Обновите Gradle при необходимости.
Compile "com.android.support:appcompat-v7:25.0.0" compile "com.google.android.gms:play-services:9.8.0"
Службы Google Play часто обновляются, и чтобы получить последнюю версию, в Android Studio выберите инструменты > Android > SDK Manager.
Затем найдите строчку для сервисов Google Play и убедитесь, что у вас установлена версия 26 и выше. Если нет — установите компонент.
Теперь создадим пользовательский интерфейс.
В Android Studio выберите папку «res» и откройте ее вложенную папку «layout». Здесь вы увидите «activity_main.xml». Откройте его в редакторе макетов.
Вы можете видеть, что ваш макет содержит текстовое поле
По нажатию на кнопку будет происходить загрузка и обработка изображения штрих-кода, которое будет отображаться в ImageView. После завершения обработки штрих-кода информация, считанная из него, будет отображаться в TextView.
Обычно приложения для считывания штрих-кодов получают изображение с камеры устройства, или обрабатывают превью камеры. Для реализации этого потребуется достаточно много кода, и в конце урока я покажу пример реализации такого приложения. Чтобы упростить этот пример, мы обработаем готовое изображение qr-кода, которое уже присутствует в вашем приложении.
Вот пример изображения qr-кода, которое вы можете скачать отсюда.
Назовите его qr.png и добавьте в папку проекта res/drawable.Android Studio обеспечит доступ к файлу в качестве ресурса с идентификатором: R.drawable.qr
Теперь перейдем к написанию кода приложения.
В файле MainActivity.java в методе onCreate добавьте следующий код.
Button button = (Button) findViewById(R.id.button); btn.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { } });
Это настраивает обработчик событий (onClick), срабатывающий когда пользователь нажимает кнопку. Остальной код напишем в методе onClick.
Начнем с загрузки изображения штрих-кода. Сначала находим ImageView по идентификатору. Затем используется BitMapFactory для декодирования ресурса R.drawable.qr в растровое изображение. Полученное растровое изображение передаем ImageView.
ImageView myimageView = (ImageView)findViewById(R.id.imgview); Bitmap myBitmap = BitmapFactory.decodeResource(getApplicationContext().getResources(), R.drawable.qr); myimageView.setImageBitmap(myBitmap);
BarcodeDetector barcodeDetector = new BarcodeDetector.Builder(getApplicationContext()) .setBarcodeFormats(Barcode.DATA_MATRIX | Barcode.QR_CODE) .build();
Вполне возможно, что первый раз наш детектор штрих-код сработает, когда служба Google Play еще не будет готова для обработки штрих-кодов. Поэтому мы должны проверить, что наш детектор работает, прежде чем использовать его. Если нет, нам придется ждать окончания загрузки или сообщить пользователям, что нужно найти подключение к Интернету или освободить место на устройстве. Прежде чем мы обратимся к текстовому полю, нужно объявить и найти его выше в методе onCreate.
TextView txtView = (TextView) findViewById(R.id.txtContent);
Теперь допишем метод вывода сообщения.
If (!barcodeDetector.isOperational()) { txtView.setText("Could not set up the detector!"); }
Теперь, когда наш детектор создан и мы знаем, что он работает, создаем кадр из растрового изображения и передаем его детектору. Тот возвращает нам массив штрих-кодов SparseArray.
Frame frame = new Frame.Builder().setBitmap(myBitmap).build();
SparseArray
Обратите внимание, что Mobile Vision API способен обнаруживать несколько штрих-кодов в одном кадре. В этом случае массив SparseArray
Обычно на этом этапе нужно пробежать по массиву SparseArray и обработать каждый штрих-код отдельно. Нужно предусмотреть возможность, что штрих-кодов может быть несколько, или ни одного. В нашем случае мы знаем, что у нас есть только 1 штрих-код, и можем прописать жесткий код для него. Для этого мы берем штрих-код, называемый «thisCode», который будет первым элементом в массиве. Затем присваиваем значение его поля rawValue текстовому полю textView — и все.
Barcode thisCode = barcodes.valueAt(0); txtView.setText(thisCode.rawValue);
Теперь все, что вам нужно сделать, это запустить приложение.
Запускать лучше на реальном устройстве. На эмуляторе работать не будет, потому что на эмуляторах по умолчанию отсутствует сервис Google Play.
Вот приложение запустилось на устройстве, жмем кнопку. Если вы используете изображение штрих-кода qr.png, вы увидите в текстовом поле данные, закодированные в QR-код — это адрес нашего сайта .
Это был простой пример приложения, демонстрирующий работу Mobile Vision API. Но полноценный сканер штрих-кодов должен получать изображение с камеры устройства, или обрабатывать превью камеры.
Разработчики подготовили пример такого приложения на Github, вы можете скачать его код по ссылке .
Клонируйте или скачайте проект, и откройте в Android Studio модуль barcode-reader.
При запуске приложения из этого проекта мы можем увидеть, как оно работает. Первоначально открывается стартовый экран, на котором можно включить автофокус или вспышку. Кнопка считывания штрих-кода запускает камеру. Приложение отслеживает появление штрих-кодов на превью и рисует рамки на обнаруженных штрих-кодах. При нажатии на область обнаруженного штрих-кода превью закрывается, передавая при этом данные обнаруженного штрих-кода в текстовое поле на стартовом экране. Подробнее смотрите в .
Это приложение также использует Mobile Vision API. Но при рассмотрении проекта в Android Studio можно увидеть, что кода здесь побольше, чем в нашем простом примере.
Приложение состоит из восьми классов. Три из них отвечают за интерфейс и работу с камерой.
- Класс CameraSource предоставляет управление камерой для получения предварительного просмотра.
- Класс CameraSourcePreview отвечает за отображение превью на экране.
- Класс GraphicOverlay отображает графические объекты поверх связанного предварительного просмотра камеры.
- Класс MainActivity отображает стартовое окно с настройками и кнопкой запуска сканирования, и получает данные штрих-кода для размещения в TextView.
- Класс BarcodeTrackerFactory реализует паттерн «Фабрика» и используется для создания трекеров штрих-кода — по одному для каждого штрих-кода.
- Класс BarcodeGraphicTracker это трекер, который используется для обнаружения штрих-кодов на экране, и их отслеживания для наложения графики, а также удаления графики, когда штрих-код покидает зону видимости.
- Класс BarcodeGraphic используется для отрисовки экземпляра накладываемого на штрих-код изображения с учетом его положения, размера и идентификатора.
- Класс BarcodeCaptureActivity — это активити, которое запускается при нажатии кнопки считывания штрих-кода в стартовом окне приложения. Это активити отображает превью камеры и определяет штрих-коды на нем, выполнzет их считывание и наложение графических рамок на каждый штрих-код с помощью вышеперечисленных классов.
Я не буду в рамках этого урока углубляться в более подробное объяснение кода от разработчиков, а оставлю это вам в качестве домашнего задания. Тем более что код прекрасно документирован, каждый класс и метод содержит комментарии на английском языке. Читать и разбираться в таком коде очень полезно, особенно начинающему разработчику.
Штрих-кодов и QR-сканер позволяет при помощи Андроид распознавать штрих-коды и выводить получившееся изображение на экран устройства. На обработку данных уходит всего несколько секунд, однако приложению для полноценной работы требуется доступ к камере телефона.
Достоинства
Для того чтобы считать QR-код, достаточно запустить программу и навести камеру на изображение, после чего произойдет процедура декодирования. В случае, если была зашифрована ссылка на какой-либо сайт, книгу отзывов или онлайн-календарь, откроется соответствующая страница в браузере. Кроме того, когда расшифрованный код содержит контактные данные, вроде номера мобильного телефона или адреса электронной почты, приложение выдаст предупреждение и предложит самостоятельно выбрать действие. Среди других особенностей:
Штрих-кодов и QR-сканер можно использовать для пересылки важной и конфиденциальной информации, просто шифруя данные в штрих-код. После получения ее изображение достаточно просто удалить.
Также у программы открытый исходный код, что позволяет любому человеку изменять и дорабатывать некоторые функции приложения самостоятельно. Но следует учесть, что разработчики не будут нести ответственность, если приложение перестало работать после изменений, внесенных пользователем.
Заключение
Штрих-кодов и QR-сканер - это важное дополнение к любому мобильному устройству. QR-коды могут нести в себе огромное количество полезной информации. Многие конкурсы часто используют данный метод шифровки и без подобного приложения участвовать в них нельзя. Благодаря высокой скорости работы и регулярным патчам от разработчиков, приложение получило большую известность среди пользователей устройств на Андроид.