android 条码识别软件开发全解析(续1详解)

来源:互联网 发布:十一选五遗漏数据 编辑:程序博客网 时间:2024/03/28 18:16

转自http://www.cnblogs.com/tankaixiong/archive/2010/10/28/1863997.html 的博客

前天我发了一篇关于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为:

 

第三步:OK我们赶快看看效果吧, 运行。你会看到如下: 模拟器当然没有摄像头设备是扫描不到结果的。总结:这里只是做了一个简单的调用,调用简单但有一个很大的缺陷,这里我们要安装两个程序!在安装BarcodeScanner3.5.apk为前题,这明显不能接受!所以接下来我将在下篇博客继续深入。敬请关注!
原创粉丝点击