android条形码扫描(留着自己学习)
7android 条码识别软件开发全解析android 的有一大特色就是可以识别条形码得到URL可以直接访问地址并下载,这
个功能无疑为用户提供了很大的方便。
于是在android 上开发条码识别软件肯定是很有必要的!我在网上GOOGLE了一下
发现这类的资料特别少,而且又有很多人在问如何开发。
这里我就分享一下自己的经验。
这里我们会用到一个开源组件zxing ,大体上所有流行的条码都支持(一维码,二维码),并且识别是最好的在所有开源里面。我将详细讲解ZXing的使用
官网地址:http://code.google.com/p/zxing/
这个开源组件支持的条码有如下:
UPC-A and UPC-E
EAN-8 and EAN-13
Code 39
Code 93
Code 128
QR Code
ITF
Codabar
RSS-14 (all variants)
Data Matrix
PDF 417 (alpha quality)
下面我会详细讲解zxing的使用,将在我下几篇博客中详细讲解。今天又很晚了,
时间总是过的很快啊,尤其是晚上!呵呵,这里先贴出一些效果图吧!
下几篇我的博客文章再详细讲解,大致有如下几个方面:
zxing的编译打包
zxing的简单调用
zxing生成自定义二维码
识别图片中的条码
效果如图:
自定义二维条码
http://www.apkbus.com/data/attachment/forum/201301/25/152537k5xvxgdgs9vtsg12.jpg
识别图片中的条码:
http://www.apkbus.com/data/attachment/forum/201301/25/152538f4wgjx4j3pjpazlg.jpghttp://www.apkbus.com/data/attachment/forum/201301/25/152539rskd5tt6q9s06qkd.jpg
前篇有人讲我写的没有实质内容,我接受建议,这里我就带大家体验一下最简单最直接的完美体验。
编写你的第一个android条码识别程序。zxing的简单使用!
第一步:下载zxing组件:我上篇也简单介绍了一下这个组件,这里也不啰嗦了。
下载两个东东
源码和文档说明:
地址下如
http://code.google.com/p/zxing/downloads/detail?name=ZXing-1.6.zip&can=2&q=
BarcodeScanner3.5.apk这个是编译好的一个可安装的apk程序!这个后面将用到。
地址如下
http://code.google.com/p/zxing/downloads/detail?name=BarcodeScanner3.51b1.apk&can=2&q=
第二步:
模拟器已完全打开后
安装BarcodeScanner3.5.apk
cmd中cd 到sdk目录
利用adb命令安装BarcodeScanner3.5.apk
adb install BarcodeScanner3.5.apk 所在目录,请确定安装成功了。
第三步:ok 终于到编码了!
http://www.apkbus.com/data/attachment/forum/201307/22/181532vvip7p34ninp9ezp.gifhttp://www.apkbus.com/data/attachment/forum/201307/22/181532t3cvgvo7acv4xv19.gif代码
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
publicclass MyTest extends Activity {
/** Called when the activity is first created. */
private TextView tv;
@Override
publicvoid onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.mytest);
tv=(TextView) findViewById(R.id.mytxt);
findViewById(R.id.mybtn).setOnClickListener(listener);
}
public Button.OnClickListener listener=new Button.OnClickListener(){
publicvoid onClick(View v){
Intent intent =new Intent("com.google.zxing.client.android.SCAN");//调用扫描的actity,这里其实只是转到刚才安装的BarcodeScanner3程序的中一个actity
intent.putExtra("SCAN_MODE", "QR_CODE_MODE");//输入参数,(扫描类型,..二维码)
startActivityForResult(intent, 0);//启动intent
}
};
//扫描成功后回调函数,传回code
publicvoid onActivityResult(int requestCode, int resultCode, Intent intent) {
if (requestCode ==0) {
if (resultCode == RESULT_OK) {
String contents = intent.getStringExtra("SCAN_RESULT");
String format = intent.getStringExtra("SCAN_RESULT_FORMAT");
// Handle successful scan
tv.setText(" 条形码为:"+contents+" 条码类型为: "+format);//利用页面的textveiw显示扫描后的结果
} elseif (resultCode == RESULT_CANCELED) {
// Handle cancel
tv.setText(" 扫描失败!");
}
}
}
}
对应的xml如下
?
1
2
3
4
5
6
7
8
9
10
11
页:
[1]