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

13 篇文章 0 订阅
8 篇文章 0 订阅
编写最简单的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:


http://schemas.android.com/apk/res/android”
android:orientation=”vertical”
android:layout_width=”fill_parent”
android:layout_height=”fill_parent”
>
android:id=”@+id/hello”
android:layout_width=”fill_parent”
android:layout_height=”wrap_content”
android:text=”@string/hello”
/>

values目录下的strings.xml



目前没有扫描结果。
购物小参考
点击开始扫描…

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

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值