Каждый из нас хотя бы раз видел характерные черно-белые квадратики, которые мелькают на различных товарах, на улице и даже с экранов телевизоров. Эти значки носят название QR-коды (сокращение от Quick Response) и несут в себе определенную информацию. Стоит отметить, что распознать зашифрованные в штрихкоде данные можно в считанные секунды и практически с любого мобильного устройства, используя определенные приложения для распознавания QR, которые сканируют коды. Более того, создавать Quick Response можно и самостоятельно, пользуясь простыми сервисами-ридерами. О том, как пользоваться QR-кодом, и распознавать их с помощью Android-устройства, мы расскажем далее.
QR Droid Code Scanner
Жанр: | Работа |
Рейтинг: | 4.1 |
Установок: | 50 000 000–100 000 000 |
Разработчик: | Droid La |
Русский язык: | есть |
Всего оценок: | 347 470 |
Версия: | 5.3.3 |
Размер apk: |
Предлагаем посмотреть вводное видео, которое расскажет вам про QR коды:
QR-коды – что это?
QR-код (Quick Response) или Barcode – это один из типов шифрования, который является своеобразным аналогом штрих-кода. Главной особенностью его считается то, что со сканером штрих-кода на андроид кодирование можно расшифровывать буквально на любой поверхности – на упаковке товара, стенах метро и даже экране телевизора. Изобретение было разработано японской компанией Denso Wave в 1994 году, и теперь используется практически повсеместно. При этом область его применения намного более широка, чем обычная маркировка. Чаще всего такая шифровка используется для обозначения следующих форматов:
- Персональные данные. Кодировку такого типа можно нанести, к примеру, на визитку. Это позволяет быстро сохранить нужный контакт, просканировав код и сохранив его распознанные данные в памяти устройства.
- SMS сообщения. Quick Response избавит от необходимости набора текста. При помощи специального ридера вы сможете увидеть на дисплее устройства готовое сообщение.
- Адрес сайта или электронной почты. Программа для считывания qr кодов для андроид-девайсов позволит перейти напрямую на сайт без необходимости ввода символов в адресную строку. Обычно это сайт, где можно узнать все необходимое о товаре или услуге.
- Данные о географическом расположении того или иного объекта.
- Тексты, стихи и прочая информация на русском и других языках.
Скачать штрих-код сканер стоит еще и потому, что сегодня такую кодировку можно увидеть практически на каждой упаковке товаров в супермаркете. Чаще всего производители используют шифрование европейского стандарта EAN-8 и EAN-13. Число в имени кода указывает на то, сколько символов содержится в шифровании. Таким образом, вооружившись хорошим смартфоном или планшетом, со сканером QR вы сможете прочитать информацию на упаковке – историю компании, состав товара и даже его цену. Такие штрих-коды наносятся также и на лекарственные препараты. В этом случае они содержат центральный фармацевтический номер. На письмах и открытках можно расшифровать адрес получателя, что позволяет автоматически отсортировывать корреспонденцию при ее доставке.
Как скачать программу-сканер штрих-кодов на андроид?
Для сканирования кода на Android-устройстве достаточно простого приложения, которое можно скачать бесплатно напрямую из Google Play. Алгоритм работы такой программы очень простой – она использует камеру телефона, фиксирует изображение, после чего передает информацию на экран. Более того, при помощи многих программ вы можете самостоятельно создавать Quick Response, зашифровывая в них нужные символы. Таких QR-сканеров для Андроид очень много, а наиболее популярными являются QR Droid Code Scanner , ZXing Team и QR Droid.
Давайте рассмотрим, как можно загрузить и установить программу для считывания штрих-кодов Quick Response на Android-устройство на примере другого известного приложения QR Barcode Scanner.
Итак, чтоб узнать, как сканировать QR-коды на Андроид-устройствах с помощью указанной программы, необходимо:
- Скачать приложение на нашем сайте. Или же зайти на сервис Google Play, ввести в поиске «QR code reader» и выбрать ридер из предложенного списка, к примеру, Barcode Scanner. После того, как программа будет установлена на ваше устройство, необходимо зайти в меню, выбрать приложение, скачать QR-сканер и открыть его.
- Сразу после скачивания и запуска перед нами откроется главное меню программы. Для того чтоб начать сканирование, вам необходимо выбрать пункт Scan Barcode и навести камеру на нужный нам Quick Response.
- После того, как приложение окончит чтение, на экране появится информация о типе шифрования, а также все данные, которые содержит отсканированный шифр. Таким образом, каждый пользователь Android-гаджетов сможет без труда считать QR на улице, в метро и на упаковках товаров, при этом вовсе не обязательно подключаться к сети Интернет.
Можно ли создать QR самостоятельно?
Учитывая то, что матричное шифрование не является лицензированным, каждый желающий может создать Quick Response при помощи несложных приложений или генераторов. Для того чтоб понять, как работают эти коды, и каким образом можно их создать, вам необходимо найти один из сервисов для генерации матричного шифрования, который работает в Сети в свободном доступе.
На сайте вам необходимо в специальном поле ввести текстовые данные, которые будут зашифрованы с помощью матричной кодировки. После этого достаточно использовать команду «Создать код» и сохранить изображение в формате GIF, JPEG или PNG на выбор. Полученный код можно сохранить на своем устройстве, распечатать или отправить электронной почтой.
Как видите, область применения матричного кодирования достаточно широка. При этом доступ к зашифрованных в черных квадратиках данных может иметь каждый владелец даже простого Андроид-смартфона. Простые сканеры QR-кодов для Андроид, установленные на ваш девайс, позволят узнать, как считывать QR, распознавать тексты, адреса и геолокации, делиться ими с друзьями и даже создавать собственное матричное шифрование с данными практически любого типа.
После прочтения этой статьи вы уже знаете, что же такое – эти QR коды, и как с ними работать. Чтобы закрепить практические знания, предлагаем посмотреть обучающее видео по работе с программой QR Droid.
QR-код (Barcode) – разновидность кодирования, являющаяся дополнительным аналогом штрих-кода. Правда, кодировать таким образом можно всё что пожелаете, и не важно где данный код будет изображён. К примру, считывание данного кода можно осуществить как с обычного бумажного листочка, так и экранного изображения. Quick Response – это, иными словами, тот же штрих-код, только в двухмерном виде. Создателем этого новшества является Denso Wave. Сегодня мы узнаем, для чего предназначен Barcode и как правильно его считать.
Применение QR-кодов
Границы использования матричного кода простираются куда шире, чем область применения штрих-код. Таким кодированием можно обозначать не только группу товаров, но и интернет-ресурсы, изображение, города, программы и даже ссылку на соц. сеть. В общем, выделить таким шифрованием можно всё что пожелаете. Но для чего этого всё?Итак, узнаем, как работать с QR-кодом на Android системе. К примеру, вас заинтересовал некий товар, расположенный в магазины. Пользователь наводит на картинку с кодом свой смартфон, с предварительно загруженной утилитой для осуществления сканирования кода. Далее осуществится переход на сайт, закрепленный за производителем данного товара или услуги. Вы сможете узнать подробную информацию о товаре, а точнее: производителе, ассортименте, количестве и т.д.
Также система Quick Response великолепно зарекомендовала себя в сфере путешествий. Теперь вам не потребуется нанимать дорогостоящего экскурсовода. Наведите на QR-код камеру смартфона возле какого-либо произведения искусства и через несколько секунд вы узнаете о нём самую подробную информацию на сегодняшний день. Также широкое применение матричная кодировка нашла и в сфере рекламы. Так, изучая обзорную статью о какой-нибудь услуге, вы можете перейти на официальный сайт представителя, чтобы приобрести тот-же товар или услугу.
Cекретные коды для Android: Видео
Что нужно для чтения QR
Чтобы расшифровать нужный QR-код через Android смартфон, потребуется установить специальное приложение. Загружается оно из Google Play и не требует мощного железа. В общем счете, не столь важно, какую утилиту для снятия QR-кодов вы установите. Весь принцип работы у них идентичен, разница лишь в интерфейсе. Самыми известными считаются и , но подойдет и любая другая. Просто введите в строку поиска запрос «QR».Как создать QR самому
Неважно, для каких целей вам понадобилось матричное шифрование. Как мы говорили ранее, можно создать QR-код для собственной страницы соц. сети, других контактов, например, сделать распечатку на визитной карточке, чтобы кто угодно смог узнать о вас при помощи своего смартфона.Если считывание QR-кода занимает мало времени, то его регистрация займёт несколько минут. Для этого нужно воспользоваться услугами специального генератора. Проще всего создать код через сервис . Сложного в этом нет: выберите, то что требуется зашифровать и поэтапно следуйте инструкции. Когда сервис покажет вам изображение кода, вы сможете сохранить его для дальнейшей работы или скопировать его ссылку. Теперь этим кодом можно делиться со знакомыми и делать все что пожелаете.
Сканировать QR-коды на смартфонах с Android проще чем делать фото. Все что нужно это:
- Смартфон или планшет с камерой;
- Интернет.
Я объясню все максимально просто и проведу практическое занятие. Прямо здесь не отходя от статьи. По такой же инструкции можно сканировать и штрих-коды.
“Интерфейс моего смартфона может отличаться от вашего из-за другой темы и версии Android. Отличия не влияют на процесс установки и использования сканера QR-кода”
Для начала нужен сканер QR кодов. Я нашел самый простой. На нем меньше назойливой рекламы и он сканирует - то, что нужно. Установить его - очень просто. Использовать - еще проще.
- Для начала заходим в Google Play Market. И пишем в подчеркнутой красным строке: “qr code scanner”, а лучше “smart qr scanner and generator”. Нажимаем на иконку поиска или просто выпавшее предложение, которое нам подходит.
Кроме того у нас вы можете скачать другое отличное приложение для сканирования –
Как сканировать код с сохраненной картинки?
Распознать QR-код с картинки можно и в сети интернет с помощью специальных веб-сайтов. Я выбрал qrrd.ru, потому что это единственный сайт, который у меня загрузился менее чем за 10 секунд и имел более-менее приятный глазу интерфейс.
Как им пользоваться? Сначала заходим на сайт: qrrd.ru или сразу на qrrd.ru/read. Видим следующее:
Зеленым обведено меню сайта, в котором указано все, чем он может вам помочь. В нашем случае выбираем “Распознать QR код”.
Открывается следующая страница с большой кнопкой “+Выберите файлы”. На нее и нажимаем. После этого, снизу появляются варианты как “выбрать файлы”. Тут вы можете или сразу сделать фотографию и отправить. Или же нажать на документы и выбрать фотографию, которая уже есть на телефоне. Я пошел по последнему пути.
Здесь я выбрал вкладку с картинками, нажал на папку где хранятся картинки на моем телефоне и нажал на изображение с QR-кодом, то самое которое уже раньше было здесь в статье.
Дальше уже дело за сайтом. Он автоматически загружает себе фотографию или картинку, а потом сразу распознает и показывает результат.
Готово!.
Зачем мне вообще сканировать QR-коды?
В них может находиться полезная информация. Вероятность этого низка, но она может там быть. К тому же, QR-коды часто используются в музеях, чтобы не ставить огромные таблички с кучей информации, а просто использоваться небольшой QR-код и дать каждому возможность отойти в сторону и почитать о экспонате в своем телефоне. Все просто и удобно. Именно для этого компания Denso Wave их и изобрела.
QR-код - это отличный инструмент для акций. Например, в нем может быть зашифрован код, который нужно показать продавцу, чтобы получить скидку. Применений огромное количество. Пользуйтесь!
QR-код — это штрих-код, разработанный и представленный японской компанией Denso-Wave в далеком 1994 году. QR-коды в последнее время стали популярны и в нашей стране. С помощью штрих-кода можно зашифровать достаточно много информации, например, какой-нибудь адрес или веб-ссылку. Для того, чтобы считать информацию, достаточно иметь под рукой смартфон или планшет с камерой. Сегодня мы покажем вам, как считывать такого рода коды на Android-устройствах.
Первым делом вам необходимо будет скачать сканер для штрих-кода. Каким из них вы будете пользоваться, решать только вам — их в Google Play Маркет очень много. Просто наберите в поиске словосочетание «qr-код» (без кавычек) и выбирайте на здоровье. Мы воспользовались QR Code Reader. Кстати, вполне возможно, что в вашей прошивке уже есть сканер QR-кодов.
Чтобы его считать, нам нужно запустить скачанное приложение и запустить его. После запуска вы увидите изображение с камеры — не пугайтесь, так и положено. При наведении камеры на QR-код приложение автоматически его считает, то есть вам не нужно нажимать на дополнительные кнопки. При этом вы сразу увидите скрытое в коде описание.
Собственно, на этом все. Устанавливайте приложение и сканируйте QR-коды, что вам встречаются. Возможно, в них вы найдете что-то интересное.
В этом уроке научимся создавать приложение для чтения штрих-кодов и 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ет их считывание и наложение графических рамок на каждый штрих-код с помощью вышеперечисленных классов.
Я не буду в рамках этого урока углубляться в более подробное объяснение кода от разработчиков, а оставлю это вам в качестве домашнего задания. Тем более что код прекрасно документирован, каждый класс и метод содержит комментарии на английском языке. Читать и разбираться в таком коде очень полезно, особенно начинающему разработчику.