前天我发了一篇关于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如下
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="fill_parent"
android:layout_height="fill_parent">
<TextView android:layout_width="fill_parent"
android:layout_height="wrap_content" android:text="@string/hello"
android:id="@+id/mytxt" />
<Button android:text="点我开始扫描" android:id="@+id/mybtn"
android:layout_width="wrap_content" android:layout_height="wrap_content"></Button>
</LinearLayout>
第三步:OK我们赶快看看效果吧, 运行。
你会看到如下:
模拟器当然没有摄像头设备是扫描不到结果的。
总结:
这里只是做了一个简单的调用,调用简单但有一个很大的缺陷,这里我们要安装两个程序!
在安装BarcodeScanner3.5.apk为前题,这明显不能接受!所以接下来我将在下篇博客继续深入。敬请关注!