[转载]android 条码识别软件开发全解析(续1详解) – tankaixiong – 博客园.
前天我发了一篇关于android开发条码识别软件应用程序的博客,没想到竟很受关注。
我也挺受鼓舞的,好吧,我接上次的博客继续往下写。
前篇有人讲我写的没有实质内容,我接受建议,这里我就带大家体验一下最简单最直接的完美体验。
编写你的第一个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 终于到编码了!
import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.TextView; public class MyTest extends Activity { /** Called when the activity is first created. */ private TextView tv; @Override public void 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(){ public void 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 public void 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显示扫描后的结果 } else if (resultCode == RESULT_CANCELED) { // Handle cancel tv.setText(" 扫描失败!"); } } } }
对应的xml如下
01 |
<? xml version = "1.0" encoding = "utf-8" ?> |
02 |
< LinearLayout xmlns:Android = "http://schemas.android.com/apk/res/android" |
03 |
android:orientation = "vertical" android:layout_width = "fill_parent" |
04 |
android:layout_height = "fill_parent" > |
05 |
< TextView android:layout_width = "fill_parent" |
06 |
android:layout_height = "wrap_content" android:text = "@string/hello" |
07 |
android:id = "@+id/mytxt" /> |
08 |
09 |
< Button android:text = "点我开始扫描" android:id = "@+id/mybtn" |
10 |
android:layout_width = "wrap_content" android:layout_height = "wrap_content" ></ Button > |
11 |
</ LinearLayout > |
第三步:OK我们赶快看看效果吧, 运行。
你会看到如下:
模拟器当然没有摄像头设备是扫描不到结果的。
总结:
这里只是做了一个简单的调用,调用简单但有一个很大的缺陷,这里我们要安装两个程序!
在安装BarcodeScanner3.5.apk为前题,这明显不能接受!所以接下来我将在下篇博客继续深入。敬请关注!