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