Zxing条形码

来源:互联网 发布:淘宝返利网是真的吗 编辑:程序博客网 时间:2024/06/10 17:24
  • 介绍

几乎在每个商品包装上都有条形码的影子,那么什么是条形码,我们能不能通过代码、在安卓手机上自己实现对条形码的识别呢?答案就在下面。

  • EAN-13

EAN码是国际物品编码协会制 定的一种商品用条码,通用于全世界。EAN码符号有标准版(EAN-13)和缩短版(EAN-8)两种标准版表示13位数字,又称为EAN13码,缩短版 表示8位数字,又称EAN8。两种条码的最后一位为校验位,由前面的12位或7位数字计算得出。两种版本的编码方式可参考国标GB-12094-1998

European Article Number (欧洲物品编码的缩写),其中共计13位代码的EAN-13是比较通用的一般终端产品的条形码协议和标准,主要应用于超级市场和其它零售业,因此这种是我们比较常见的,随便拿起身边的一个从超市买来的商品都可以从包装上看得到。

  • 嵌入安卓

特别要注意的一点是:要把zxing的包结构做修改,之前的是com.google.zxing,我建议的是——如果你的配置是(package="org.suren.market"),则要把zxing的代码放到org.suren.market.zxing下面。

然后需要在manifest中添加下面的代码:

[codesyntax lang="xml"]

<activity    android:configChanges="orientation|keyboardHidden"    android:name="org.suren.market.zxing.activity.CaptureActivity"    android:screenOrientation="portrait"    android:theme="@android:style/Theme.NoTitleBar.Fullscreen"        android:windowSoftInputMode="stateAlwaysHidden" ></activity>

[/codesyntax]

要注意上面的Activity的路径。

然后就是调用条形码扫描的代码了:

Intent openCameraIntent = new Intent(BillActivity.this, CaptureActivity.class);
startActivityForResult(openCameraIntent, 0);

最后是获取扫描结果的代码:

[codesyntax lang="java"]

@Overrideprotected void onActivityResult(int requestCode, int resultCode, Intent data){    super.onActivityResult(requestCode, resultCode, data);        if (resultCode == RESULT_OK) {        Bundle bundle = data.getExtras();        String scanResult = bundle.getString("result");                System.out.println(scanResult);    }}

[/codesyntax]

是不是感觉很简单啊。

  • 参考

http://jun1986.iteye.com/blog/1156124

http://baike.baidu.com/link?url=xhxha1N9K3tm0bi7lQT-R6GTTw2B_KabRkNKlrau4uIkQu_u49IeFgt0leyY5toNAsd17ojQjqeODqyaWYIA6_

查看原文:http://surenpi.com/2015/06/18/zxing/

0 0
原创粉丝点击