SlideShare a Scribd company logo
QR
Олег Годовых
QR
Quick Response Code
2 QR
QR
В QR может находиться:
Текст.
Ссылка на сайт.
Визитка.
Шаблон SMS.
Номер телефона.
Геолокация.
Событие.
Шаблон e-mail.
Доступ к wi-fi (без паспорта!).
3 QR
QR
В QR может находиться:
До 7089 цифр.
До 4296 символов.
До 2953 байтов.
До 1817 иероглифов.
4 QR
QR
5 QR
QR
QR корректирует ошибки
6 QR
QR
QR может выглядеть очень разнообразно
7 QR
QR
8 QR
Библиотеки
Zebra Crossing — библиотека от Google для обработки
различных 1D/2D кодов.
ZBar — библиотека для распознавания различных 1D/2D
кодов.
Barcode Scanner — библиотека с удобной интеграцией
ZXing и ZBar для Android.
9 QR
Работа с библиотеками
Кодирование в ZXing
QRCodeWriter writer = new QRCodeWriter();
BitMatrix matrix = writer.encode("EXAMPLE", BarcodeFormat.QR_CODE, QR_WIDTH,
QR_HEIGHT);
Bitmap bmp = Bitmap.createBitmap(QR_WIDTH, QR_HEIGHT, Bitmap.Config.RGB_565);
for (int x = 0; x < QR_WIDTH; x++){
for (int y = 0; y < QR_HEIGHT; y++){
bmp.setPixel(x, y, matrix.get(x,y) ? Color.BLACK : Color.WHITE);
}
}
ImageView view = (ImageView)findViewById(R.id.qr);
view.setImageBitmap(bmp);
10 QR
Работа с библиотеками
Декодирование в ZBar
ImageScanner scanner = new ImageScanner();
scanner.setConfig(0, Config.X_DENSITY, 3);
scanner.setConfig(0, Config.Y_DENSITY, 3);
private Camera.PreviewCallback previewCb = new Camera.PreviewCallback() {
public void onPreviewFrame(byte[] data, Camera camera) {
Camera.Parameters parameters = camera.getParameters();
Camera.Size size = parameters.getPreviewSize();
Image barcode = new Image(size.width, size.height, "Y800");
barcode.setData(data);
int result = scanner.scanImage(barcode);
if (result != 0) {
previewing = false;
mCamera.setPreviewCallback(null);
mCamera.stopPreview();
SymbolSet syms = scanner.getResults();
for (Symbol sym : syms) {
String text = sym.getData();
// do something
}
}
}
};
11 QR
Работа с библиотеками
Декодирование в Barcode Scanner
public class Scan extends Activity implements ZXingScannerView.ResultHandler {
private ZXingScannerView mScannerView;
@Override
public void onCreate(Bundle state) {
super.onCreate(state);
mScannerView = new ZXingScannerView(this);
setContentView(mScannerView);
}
@Override
public void onResume() {
super.onResume();
mScannerView.setResultHandler(this);
mScannerView.startCamera();
}
@Override
public void onPause() {
super.onPause();
mScannerView.stopCamera();
}
@Override
public void handleResult(Result rawResult) {
// Do something with the result here
Log.v(TAG, rawResult.getText());
Log.v(TAG, rawResult.getBarcodeFormat().toString());
}
}
12 QR
Полезные ссылки
http://www.qrhacker.com
http://github.com/dm77/barcodescanner
http://www.swetake.com/qrcode/qr1_en.html
http://research.swtch.com/qart
13 QR

More Related Content

PPTX
Citylife.kz
PDF
AR открытки: дополненная реальность к 8 марта
PDF
Введение в Android-разработку (Lecture 06 – basics)
PPTX
ЭЛЕМЕНТЫ ИСКУСТВЕННОГО ИНТЕЛЛЕКТА ПРИ ПРОГРАММИРОВАНИИ. (http://tuladev.net/e...
PDF
Android - 14 - Geodata
PDF
Web internship Yii Framework
PDF
Android - 13 - Database
PDF
Android - 06 - Gradle
Citylife.kz
AR открытки: дополненная реальность к 8 марта
Введение в Android-разработку (Lecture 06 – basics)
ЭЛЕМЕНТЫ ИСКУСТВЕННОГО ИНТЕЛЛЕКТА ПРИ ПРОГРАММИРОВАНИИ. (http://tuladev.net/e...
Android - 14 - Geodata
Web internship Yii Framework
Android - 13 - Database
Android - 06 - Gradle

Viewers also liked (20)

PDF
Web Internship - PHP and MySQL
PDF
Дополненная реальность в "серьезных играх"
PDF
Системы автоматизированной сборки (Lecture 05 – gradle)
PDF
Лекция Android. Fragments, ActionBar, Drawer
PDF
Android - 09 - Fragments
PDF
Android - 08 - Action bar
PDF
Web internship java script
PDF
Android - 04 - Internship project introduction
PDF
Database (Lecture 14 – database)
PDF
Android - 15 - Social
PDF
Android - 07 - User Interface
PDF
Что нужно знать начинающему разработчику на Android
PDF
Разработка мобильных приложений ДЛЯ ДЕТЕЙ
PDF
Web-01-Basic PHP
PDF
Android - 10 - Graphics
PDF
iOS-05_1-UIKit
PDF
Web-02-Intermediate PHP
PDF
Работа с графической подсистемой (Lecture 10 – Graphics)
PDF
Android - 05 - Android basics
PDF
Многопоточность, работа с сетью (Lecture 12 – multithreading, network)
Web Internship - PHP and MySQL
Дополненная реальность в "серьезных играх"
Системы автоматизированной сборки (Lecture 05 – gradle)
Лекция Android. Fragments, ActionBar, Drawer
Android - 09 - Fragments
Android - 08 - Action bar
Web internship java script
Android - 04 - Internship project introduction
Database (Lecture 14 – database)
Android - 15 - Social
Android - 07 - User Interface
Что нужно знать начинающему разработчику на Android
Разработка мобильных приложений ДЛЯ ДЕТЕЙ
Web-01-Basic PHP
Android - 10 - Graphics
iOS-05_1-UIKit
Web-02-Intermediate PHP
Работа с графической подсистемой (Lecture 10 – Graphics)
Android - 05 - Android basics
Многопоточность, работа с сетью (Lecture 12 – multithreading, network)
Ad

More from Noveo (20)

PPTX
Гуманитарные специальности в IT-индустрии
PPTX
Box model, display and position (HTML5 тема 07 - box model, display position)
PPTX
Ссылки, списки и меню (HTML5 тема 06 - ссылки, списки и меню)
PPTX
Стилизация текста (HTML5 тема 05 - стилизация текста)
PPTX
Семантика текста (HTML5 тема 04 - семантика текста)
PPTX
Основы CSS (HTML5 тема 02 - основы CSS)
PPTX
Структура HTML документа (HTML5 тема 01 - структура html документа)
PPTX
Yii2
PPTX
Сессии и авторизация
PPTX
Rest
PPTX
PHP basic
PPTX
PHP Advanced
PPTX
PHP and MySQL
PPTX
MySQL
PDF
Push Notifications (Lecture 22 – push notifications)
PDF
RxJava+RxAndroid (Lecture 20 – rx java)
PDF
Работа с соцсетями (Lecture 19 – social)
PDF
Работа с геоданными (Lecture 18 – geolocation)
PDF
Animations (Lecture 17 – animations)
PDF
Toolbar (Lecture 16 – toolbar)
Гуманитарные специальности в IT-индустрии
Box model, display and position (HTML5 тема 07 - box model, display position)
Ссылки, списки и меню (HTML5 тема 06 - ссылки, списки и меню)
Стилизация текста (HTML5 тема 05 - стилизация текста)
Семантика текста (HTML5 тема 04 - семантика текста)
Основы CSS (HTML5 тема 02 - основы CSS)
Структура HTML документа (HTML5 тема 01 - структура html документа)
Yii2
Сессии и авторизация
Rest
PHP basic
PHP Advanced
PHP and MySQL
MySQL
Push Notifications (Lecture 22 – push notifications)
RxJava+RxAndroid (Lecture 20 – rx java)
Работа с соцсетями (Lecture 19 – social)
Работа с геоданными (Lecture 18 – geolocation)
Animations (Lecture 17 – animations)
Toolbar (Lecture 16 – toolbar)
Ad

Android - 16 - QR