分享

编写最简单的android扫描条形码功能 | Marshal's Blog

 w_hf的图书馆 2012-05-28

编写最简单的android扫描条形码功能

已经有java的第三方开源条形码识别库(zxing)了,在自己的应用中扫描条形码实际上只需调用该第三方库的实现即可。写扫描和识别条形码的android支持库的时候还没有g1手机,现在可以试试了。

为了能调用zxing,需要先安装google market中的barcode scanner:

image

程序很简陋,第一个界面:

image

第二个界面,跳到了zxing库提供的Activity去做条形码扫描,这里扫描的是生成QR二维条码中的本站url。

image

qr码瞬间就可以识别到,然后从zxing的Activity返回到程序中,显示条目内容:

image

编写代码很简单。

java代码:

package com.easymorse;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;

public class ShowBarcodeActivity extends Activity implements OnClickListener {

private Button button;

private TextView textView;

/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);

this.button = (Button) this.findViewById(R.id.Button01);
this.button.setOnClickListener(this);

this.textView = (TextView) this.findViewById(R.id.hello);
}

@Override
public void onClick(View view) {
Intent intent = new Intent(“com.google.zxing.client.android.SCAN”);
intent.putExtra(“SCAN_MODE”, “QR_CODE_MODE”);
this.startActivityForResult(intent, 0);
}

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode != 0) {
return;
}

this.textView.setText(data.getStringExtra(“SCAN_RESULT”));
}
}

layout目录下面的main.xml:

<?xml version=”1.0″ encoding=”utf-8″?>
< LinearLayout xmlns:android=”http://schemas./apk/res/android”
android:orientation=”vertical”
android:layout_width=”fill_parent”
android:layout_height=”fill_parent”
>
<TextView
android:id=”@+id/hello”
android:layout_width=”fill_parent”
android:layout_height=”wrap_content”
android:text=”@string/hello”
/>

<Button android:text=”@string/Button01″ android:id=”@+id/Button01″ android:layout_width=”wrap_content” android:layout_height=”wrap_content”></Button>
< /LinearLayout>

values目录下的strings.xml

<?xml version=”1.0″ encoding=”utf-8″?>
< resources>
< string name=”hello”>目前没有扫描结果。</string>
< string name=”app_name”>购物小参考</string>
< string name=”Button01″>点击开始扫描…</string>
< /resources>

从这个示例中也可以看到android强大的地方,可以复用(reuse)其他应用的服务(Service)或者Activity。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多