Программа читать штрих коды. Сканирование QR кодов с помощью Android
Сканер штрих кода для Андроид — это утилита для считывания штрих-кодов (QR-кодов) для смартфонов и планшетов под управлением ОС Android.
В сети огромное количество различных программ-сканеров штрих кодов. В связи с этим ниже будет представлено 5 самых лучших по рейтингу и отзыву программ. А вы уже решите сами какую скачать.
Все программы для считывания QR кодов из ТОП-10 магазина Google и на момент написания статьи бесплатные. Чей-то софт имеет рекламу, а у кого-то её очень много. Все подробности ниже. Первые два мобильных приложения имеют рейтинг от 4,7 и выше.
Скачать Сканер QR и штрих-кодов PRO:
Сканер QR и штрих-кодов PRO — компактная утилита для считывания штрих-кодов с помощью камеры устройства под управлением Android. Кроме того, позволяет самостоятельно создавать QR-коды для более комфортного обмена личной информацией.
Скачать Молния QR-сканер:
Сканеры полезны широкой аудитории пользователей, ведь применять их можно везде. Тем более приложения абсолютно бесплатны и в некоторых из них отсутствуют баннеры.
Скачать Бесплатно⚡QR Сканер/QR Код:
Возможности любого scanner для Андроид:
- сканирование и распознавание штрих-кодов;
- сохранение полученных результатов;
- поиск продукции в интернете для просмотра цен и отзывов;
- создание собственных QR-кодов.
Скачать QR сканер штрих-кода:
Пользоваться достаточно легко и просто. Нужно просто скачать и запустить приложение на своем смартфоне, поместив его напротив заинтересовавшего штрих-кода. Подождать пока камера сфокусируется. Все остальное программа сделает самостоятельно, автоматически распознав и интерпретировав полученную графическую информацию.
Скачать Barcode Scanner для Android:
Есть возможность провести поиск распознанного штрих-кода в специальной базе или просто в интернете. Само собой, качество распознавания и достоверность полученной информации зависит не только от приложения, но и от используемой модели устройства, а также камеры и условий освещения сканируемого изображения. Имеется возможность создания собственных QR-кодов.
В утилитах присутствует функция автоматической подсветки при сканировании. Все они обладают достаточной «всеядностью» при считывании. К тому же прекрасно распознают как кириллицу, так и латиницу.
Поддержка линейных кодов: UPC (UPC-A, UPC-E), EAN (EAN-8, EAN-13), Code 39, 93 и 128. И двумерных кодов: QR Code, Data Matrix, PDF 417, Codabar, RSS-14, Aztec, ITF.
Также можно отметить 2 приложения с максимальным количеством загрузок 100.000.000:
- QR Scanner: бесплатный сканер (сканер от Касперского без рекламы)
С таким набором возможностей и характеристик мобильные приложения для смартфонов и планшетов заслуживают пристального внимания со стороны пользователей, желающих обзавестись качественным и бесплатным сканером штрих-кодов на своем устройстве.
Скачать сканер штрих кода для Андроид можно бесплатно APK файлом или в магазине Гугл. Большинство тестируемых приложений на русском языке и с минимальным количеством баннеров, а в некоторых её и вовсе нет.
В этом уроке научимся создавать приложение для чтения штрих-кодов и 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, пользоваться которым мы научимся ниже.
Код типа «quick response» может считать каждый. Информация, которую он заключает в себе, также различна. Это ссылки, слоганы, адреса и телефоны, названия компаний, географические координаты и прочее. В пользу данного типа шифрования говорит его компактность и «нейтральность», удобство в использовании за счет значительного распространения портативной техники. Практически любой современный смартфон может понять QR-код посредством встроенной или устанавливаемой программы. Самые популярные из них называются QR Droid Code Scanner (для Андроида), Kaywa reader или QuickMark (для операционной среды Symbian OS V9 или Windows Mobile), iMatrix для Mac-техники, BeeTagg для Блэкбэрри, Plam OS и простых телефонов на Java. “Nokia barcode reader” примечателен тем, что поддерживает управление с тачскрина и быстро справляется даже с нечеткими или поврежденными изображениями. Скачать программы для распознавания шифра проще всего на сайте разработчиков или в таких авторитетных онлайн-ресурсах, как “Магазин Windows “, “Google Play” , “App Store” . Это гарантирует безопасность пользователя и бесплатное получение ПО. Итак, выбираем программу, устанавливаем так, как указано на инструкции к ней, запускаем и находим нужный КьюАр-код. Далее наводим камеру на картинку, которая распознается автоматически или после сохранения снимка. Информация тут же обрабатывается избранным приложением и выводится на экран. Ссылки на сайты обычно открываются в браузере.Как мы увидели, в пользовании QR нет ничего сложного. Это модно, удобно, предоставляет широкий простор для творчества и креативного использования современных технологий.
Как отсканировать QR код на Андроид для разных целей (подключения Wifi, авторизации в мессенджерах Viber, Whatsapp, просмотра товаров на Aliexpress) мы подробно рассмотрим в этой публикации. Разберем как встроенные возможности Android, так и сторонние приложения.
Уверен, что многие из Вас нередко встречают подобные «рисунки» в интернете, на рекламных объявлениях, упаковках товаров и т.д.:
Так вот, мы имеем дело с таким понятием, как «Quick Response Code », которое было создано для японского автопрома, но спустя время обрело популярность во всём мире. «Кью Ар » - это разновидность штрихкода, где с помощью уникального расположения и размеров черных блоков шифруется практически любая информация – ссылки на сайты, текстовые описания, географические координаты, данные о заказе и оплате.
Технология имеет настолько широкую область применения, что перечислять можно часами напролёт. К примеру, недавно я приобрел VR-очки для смартфона Сяоми, и чтобы не искать специальное приложение в Плей маркете, достаточно было отсканировать QR на упаковке и сразу перейти к скачиванию софта.
Процедура считывания занимает несколько секунд, и необходимым условием является подключение к глобальной сети Internet. Давайте подробно рассмотрим инструменты.
К сожалению, не все смогут ими воспользоваться. Старые версии ОС, установленные на телефонах старше 5 лет, вряд ли поддерживают такой способ. А вот более современные прошивки справляются с задачей практически на автомате.
К примеру, на моём Xiaomi Redmi Note 4 есть стандартное приложение «Сканер ». Кроме того, достаточно просто включить камеру и навести её на код QR, чтобы появилась кнопка «Подробнее… », а уже в новом окне увидите ссылку (или прочую информацию):
Опять же, всё зависит от Android и установленной оболочки - в MIUI (в Сяоми/Ксиаоми) и Flyme (для Meizu) эти функции реализованы, хотя в последнем случаем необходимо выбрать соответствующий режим съемки:
Попробуйте поискать у себя нечто подобное, покопайтесь в настройках. Если не найдете – переходите к перечню полезных утилит.
Как отсканировать QR код на Android сторонними программами
В официальном магазине Google Play по данному запросу можно найти множество софта, с помощью которого производиться распознавание кодов разного типа. Но следует использовать только ПО с высоким рейтингом, желательно выбирать варианты без рекламы (хотя таких мало). Я подготовил перечень, актуальный на 2018 год. Возможно, в будущем появятся решения более продвинутые. Хотя, что нового может предложить утилита подобного назначения?
- Молния сканер ;
Не буду конкретно описывать интерфейс и возможности каждого инструмента, поскольку они идентичны, имеют одинаковый принцип работы, а именно:
- Подключаетесь к интернету (мобильному или Вай фай);
- Запускаете приложение;
- Выбираете режим (если предлагается);
- Когда на экране отобразится квадрат, следует навести камеру на нужный элемент, который хотите отсканировать;
- Спустя пару секунд будет найден результат и увидите на дисплее информацию;
- Далее можно перейти на сайт (если получили ссылку), прочитать описание, поделиться в социальных сетях (мессенджерах), скопировать для последующей вставки в заметки и т.д.
Описание:
С помощью приложения Вы сможете декодировать штрих код. Данный софт является полностью бесплатным. При сканировании, если QR-код содержит адрес сайта, то Вы автоматические попадёте на него. Приложение считает как QR-коды, так и Data Matrix.
Особенности программы:
- возможность сканирования штрих-кодов через камеру вашего устройства;
- возможность просмотра списка истории всех предыдущих сканирований;
- возможность создавать собственные QR коды;
- делитесь QR-кодами по средствам электронного общения.
Перейдём к настройкам . Настройки у приложения достаточно гибкие. При сканировании штрих-кодов, можно отключить распознавание линейные штрих кодов, Data Matrix, QR-кодов. Приложение позволяет включить/отключить звуковую и вибро сигнализацию. Также возможно включить автоматическую активацию фонарика, он активируется при недостаточном освещение в помещении.Программа поможет найти Вам информацию о просканированном товаре в интернете, сравнить цены и т. д.
Заключение:
Программа имеет достаточно простой нетривиальный интерфейс, в ней сможет разобраться даже домохозяйка. Хочу отметить - программа содержит довольно большое количество рекламы. Не забывайте, что для использования необходим доступ в интернет. Спасибо за внимание.