前天我發了一篇關於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;
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如下
<?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為前題,這明顯不能接受!所以接下來我將在下篇部落格繼續深入。敬請關注!