Zxing条形码

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

你可能感兴趣的:(二维码,一维码,条形码)