欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Zxing条形码

程序员文章站 2024-03-24 12:12:52
...
  • 介绍
几乎在每个商品包装上都有条形码的影子,那么什么是条形码,我们能不能通过代码、在安卓手机上自己实现对条形码的识别呢?答案就在下面。
  • 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"]
@Override
protected 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_

转载于:https://my.oschina.net/surenpi/blog/816963