Android barcode что это

Как пользоваться QR кодом на Андроид и что это такое?

вкл. 22 Ноябрь 2014 . Опубликовано в Статьи

В современном мире все большую популярность получает особенный штрих-код, содержащий закодированную информацию. Такой штрих-код получил название QR-код (quick response). Этот матричный, или двумерный код был создан компанией «Denso-Wave» (Япония) в 1994 г. если поднести к такому штрих-коду специальный сканер, то можно будет получить определенную информацию, которая будет выведена на экране компьютера. Например, так кодируются адреса в интернете, название электронной почты, контактные данные и геошифровки, SMS и различные тексты, а также номера телефонов.

Устройства на основе операционной системы Android могут считывать информацию с таких кодов с помощью программ, «QR Droid» и «QR Barcode Scanner».

С помощью наглядного примера можно продемонстрировать способ чтения QR-кода на смартфоне ZTE V880H с системой Android 4.2.1 Jelly Bean с использованием программы «QR Barcode Scanner».

Для чтения QR-кода мобильным устройством нужно выполнить определенный ряд действий:

1) Вначале необходимо скачать на нашем сайте (в данном случае это «QR Barcode Scanner»), установить ее на мобильное устройство и запустить, зайдя в «Меню» и найдя там иконку с соответствующим названием: «QR Barcode Scanner».

2) Открыв пункт с названием программы, можно будет попасть в ее главное меню на английском языке.

3) После нужно нажать на самый первый пункт с названием «Scan Barcode» и навести объектив камеры на сам штрих-код.

4) После этих действий на экране устройства будет доступна информация с данного QR-кода, которую можно будет прочитать на том языке, на котором она и была зашифрована.

Итак, операция по считыванию штрих-кодов довольно проста и необходима в настоящее время, т.к. многие производители стали использовать подобные QR-коды для выдачи дополнительной информации, которая может быть доступна только обладателям специальных устройств, в данном случае, смартфонов на платформе Android. Как пользоваться QR кодом на Андроид и что это такое?

Источник

Генерируем и сканируем QR/BAR коды


В статье приводится короткий пример, как встроить в своё приложение генератор и/или сканер QR кодов (или штрих-кодов), и тем самым облегчить себе задачу передачи с устройства на устройство коротких объемов информации.

QR-коды пришли на смену устаревшим штрих-кодам (далее вместо ‘Bar code’) и все плотнее входят в нашу жизнь, их используют в десятках различных решений от передачи ссылок на сайт, до сложных систем авторизаций и покупок.

Подробно узнать что такое QR-код можно в подробностях узнать из статьи Читаем QR код

Для выполнения поставленой задачи нам понадобится 2 библиотеки из двух проектов:

  • ZBar bar code reader
  • ZXing («Zebra Crossing»)

Сканируем QR-коды

Тут есть одна особенность, result = scanner.scanImage(codeImage) иногда возвращет корректный результат, даже когда нет никакого QR-кода перед камерой. То есть, камера иногда распознает что то даже в обычной размытой картинке. Поэтому рекомендую ввести дополнительную проверку на размер прочитанного кода или на соответствие ожидаемому формату.

Генерируем QR-коды

В этом случае уже будут задействованы ресурсы библиотеки ZXing.
Входные парамеры encodeAsBitmap: текст или код для кодирования, стандарт в который мы кодируем, размеры картинки на выходе.

Что на счёт Штрих-кодов?

Сканер понимает все виды штрих-кодов без каких-либо модификаций, из коробки.

Читайте также:  Super mario bros the lost levels android

Генератор же модифицируется не просто, а очень просто:
в функцию encodeAsBitmap передаем в поле format вместо BarcodeFormat.QR_CODE, что нибудь вроде BarcodeFormat.CODE_128, что будет соответствовать штрих-коду стандарта Code 128

Пару советов напоследок

Имейте ввиду, что работа с камерой может иметь свои особенности на разных платформах

Замечено, что метод
постоянно теряет память (есть Memory Leak) ввиду того что буфер кадра постоянно создается и очищается на каждом новом превью кадре с камеры.
Для того, что бы этого избежать, есть возможность использовать CallbackBuffer для выделения статичного буфера под превью кадры.
Это действительно помогает избавится от утечек памяти и даже увеличивает фрейм-рейт у превью картинки с камеры.
Но!, нашлась модель телефона, которая ни в какую не захотела работать с превью буфером и не факт что не найдутся еще, поэтому оставил в примере более надежный способ.

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

Источник

Android для чайников №18. Что такое QR код?

Павел Крижепольский

В обзорах программ на Android.MR (да и на многих других сайтах аналогичной тематики) вы могли заметить черно-белые картинки двухмерных штрихкодов, вроде той, что изображена ниже. Называется такой штрихкод QR кодом. О нем и мы и поговорим в этой статье.

Введение

Для начала давайте вспомним, что такое штрихкод, зачем он нужен и как именно появился на свет.

Авторами первого линейного штрихкода можно считать Бернарда Сильвера и Джозефа Вудланда. В 1948 Бернард стал случайным свидетелем разговора декана Института Технологии Университета Дрекселя с президентом крупной сети продуктовых компаний. Речь шла о создании системы, автоматически считывающей информацию о продукте. Эта идея показалась друзьям очень интересной и они решили заняться этим вопросом.

Вначале было перепробовано несколько других вариантов маркировки, таких как метки, нанесенные ультрафиолетовыми чернилами и другие. Но, по разным причинам, все эти идеи оказались не слишком жизнеспособны. Идея же самого штрихкода пришла в голову Джозефу Вудланду практически случайно. Сидя на пляже он написал на песке слово с помощью Азбуки Морзе, а затем просто продлил точки и тире вниз, превратив их в узкие и широкие линии.

В 1951 году Бернард Сильвер и Джозеф Вудланд показали свое изобретение компании IBM, но там сочли, что ее реализация потребует слишком сложного оборудования. На тот момент это было действительно так — лазерных сканеров еще не существовало и считывать штрихкоды было довольно сложно. Фактически, идея Джозефа и Сильвера опередила свое время более чем на десять лет.

Впервые широкой публике штрихкоды были продемонстрированы лишь в 1971 году (причем тогда они состояли не из прямых линий, а из окружностей), а первый коммерческий формат штрихкода (UPC или Universal Product Code) был разработан в 1972 году.

Не смотря на то, что с тех пор форматы линейных штрихкодов многократно менялись и совершенствовались, у них и по сей день остается один существенный недостаток — малое количество хранимой информации. Именно для преодоления этого недостатка и были разработаны двухмерные штрихкоды. В частности, QR код.

QR код был разработан компанией Denso-Wave в 1994 году в Японии. Его судьба во многом схода с судьбой линейного штрихкода – идея была интересной, но все упиралось в способы считывания. Возможно, где-то на производстве он и стал использоваться практически сразу, но вот широкую известность среди простых людей он получил намного позже.

Читайте также:  Как почистить память андроида от мусора

В самой Японии QR коды стали широко распространены в начале 2000-х годов. К этому времени их можно было встретить практически где угодно: на рекламных плакатах, упаковках товаров, справочниках, визитках и во многих других местах. А вот в остальном мире бум QR кодов случился намного позже – примерно в то время, когда появились современные смартфоны на Android и iOS, позволяющие легко и просто искать, скачивать и устанавливать дополнительные программы. В том числе и сканеры штрихкодов. Согласно опросу, проведенному в России в 2012 году компанией J’son&Partners Consulting, треть респондентов знали что такое QR коды и умели ими пользоваться. Подозреваю, что сейчас таких людей уже раза в два больше.

Само название «QR Code» является официально зарегистрированной торговой маркой компании Denso Wave Incorporated. Тем не менее, его использование бесплатно как для физический, так и юридических лиц и не попадает под действия каких-либо лицензий.

Считывание QR кодов

Главное достоинство любого штрихкода – максимальная простота использования. Не стал исключением из этого правила и QR код. Все что требуется от пользователя – кликнуть по иконке программы-сканера и навести камеру смартфона на изображение кода. Все остальное смартфон сделает сам.

На некоторых смартфонах программы-сканеры установлены изначально. Владельцы остальных аппаратов смогут без всякого труда найти и скачать подобные программы в Google Play. В качестве примера приведу приложение Barcode Scanner.

Скриншот основного окна приложения показан ниже. Как только вы наведете камеру смартфона на изображения кода, он будет автоматически считан и расшифрован. В большинстве случаев, это окажется ссылка на какой-то сайт или интернет ресурс. Например, магазин приложений Google Play. Чтобы не вводить ее вручную можно просто нажать на кнопку «Открыть браузер» в левом нижнем углу экрана программы. Таким образом, после того, как вы прочли обзор приложения на Android.MR, вы сможете установить его на свой смартфон буквально в один клик, просто считав с монитора QR код.

Создание QR кодов

Создать QR код самому ненамного сложнее. Самый простой вариант – сделать это с помощью все того же приложения Barcode Scanner. Для этого нужно нажать на кнопку «Поделиться», которая расположена в верхней части экрана. А дальше либо ввести текст, который хотите зашифровать, либо нажать на кнопку «Приложение», «Закладка», «Контакт» или «Буфер обмена», чтобы поделиться ссылкой на установленное приложение, закладкой браузера, контактом из телефонной книги или предварительно скопированным текстом.

В результате на экране вашего смартфона появится QR код, который ваш собеседник сможет считать с помощью своего смартфона. Таким образом можно быстро обменяться нужными данными, что намного проще и удобнее, чем вводить длинную ссылку или вносить данные контакта в смартфон вручную.

Источник

Распознавание Barcode Android

В данной статье мы будем использовать ZXing (Zebra Crossing), чтобы расшифровать штрихкод в нашем Android приложении.

Используя ZXing, нам не нужно думать о том, что у пользователя нет сканера barcode, так как классы, предоставляемые библиотекой позаботятся об этом. Интегрируя ZXing в наше приложение мы можем предоставить пользователю более простую возможность сканировать шрихкоды, также это позволит нам сфокусироваться на разработке основной части приложения.

Создание нового проекта

Шаг 1

В Eclipse создайте новый Android проект. Введите имя приложения, проекта и название пакета.

Шаг 2

Откройте основной шаблон. Eclipse должен был создать стандартный шаблон. Внутри него замените существующий контент на кнопку

Читайте также:  The last remnant remastered android 4pda

После кнопки добавим два текстовых поля, которые будут отображать результаты отсканированной информации.

Добавьте к кнопке текст. Откройте файл res/values/strings

Чтобы просканировать пользователь должен будет нажать на кнопку. Когда приложение получает результат распознавания, оно отобразит его в текстовых полях.

Интегрируем ZXing

Шаг 1

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

В Eclipse добавим новый пакет в Ваш проект. Для этого кликнем правой кнопкой мыши по папке src и выберем «New»->«Package», а затем введем com.google.zxing.integration.android в качестве имени пакета.

Шаг 2

Eclipse предлагает несколько способов импортирования существующего кода в проект. В данной статье самым простым методом будет создание двух классов, содержащий код из ZXing. Кликните правой кнопкой мыши по Вашему проекту, выберете «New»->«Class» и введите «IntentIntegrator» в качестве названия класса. Остальные параметры Вы можете не изменять. Как только Вы создали класс, проделайте тоже самое, но назовите класс «IntentResult».

Скопируйте код из обоих классов библиотеки, а затем вставьте его в созданные классы.

Теперь Вы можете подключить файлы в основной класс

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

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

Сканируем

Шаг 1

Давайте реализуем сканирование, когда пользователь нажимает на нашу кнопку. В главном файле приложения существует метод onCreate, который должен выглядеть примерно так

Перед данной функцией создайте следующие переменные, которые будут хранить нашу кнопку и два текстовых поля, созданных в шаблоне

После существующего кода в onCreate добавьте строки, которые будут инициализировать переменные

Теперь, добавим обработчик нажатия

Расширим класс, чтобы объявить интерфейс OnClickListener

Шаг 2

Теперь, мы можем реагировать на нажатие кнопки началом процесса сканирования. Добавим метод onClick

Проверяем, была ли нажата именно кнопка сканирования

Внутри блока с условием создадим экземпляр класса IntentIntegrator, который мы импортировали

Сейчас, давайте вызовем процедуру, которая начнет сканирование

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

Обработка результатов сканирования

Шаг 1

Сканер будет запущен, когда нажата кнопка. Затем будет возвращен результат сканирования в метод onActivityResult. Добавим его в наш код

Внутри функции постараемся обработать результат

Шаг 2

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

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

Вернемся в блок с условием, давайте разберемся с тем, что нам вернула библиотека. Объект Intent Result имеет метод, обеспечивающий получение результата сканирования. Получим результат сканирования, как строку

Также, получим вид barcode

Шаг 3

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

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

Результаты сканирования

Источник

Оцените статью