程序源代码及可执行文件下载地址:http://files.cnblogs.com/rainboy2010/zbardemo.zip

Android下常用的条码扫描类库有zxing和zbar,比较了一下,发现zbar扫描速度更快,能够识别的条码类型更多,下面就讲解一下如何利用zbar实现扫一扫,先放上一张效果图:

主要代码如下:

1.在onPreviewFrame方法里获取预览图像,然后传递给DecodeHandler去解析

 @Override
public void onPreviewFrame(byte[] data, Camera camera)
{
if (!useOneShotPreviewCallback)
{
camera.setPreviewCallback(null);
}
if(previewHandler != null)
{
Camera.Parameters parameters = camera.getParameters();
Size size = parameters.getPreviewSize();
Message message = previewHandler.obtainMessage(previewMessage, size.width,size.height, data);
message.sendToTarget();
previewHandler = null;
}
else
{
Log.d(TAG, "Got preview callback, but no handler for it");
} }

2. 在decode方法里调用zbar类库对图像进行解析

 private void decode(byte[] data, int width, int height) {

    Image barcode = new Image(width, height, "Y800");
Rect scanImageRect = activity.getViewfinderView().getScanImageRect(height,width);
barcode.setCrop(scanImageRect.top, scanImageRect.left, scanImageRect.bottom, scanImageRect.right);
barcode.setData(data); int result = scanner.scanImage(barcode);
String strResult="";
if (result != 0)
{
SymbolSet syms = scanner.getResults();
for (Symbol sym : syms)
{
strResult=sym.getData().trim();
if(!strResult.isEmpty())
{
break;
}
}
} if(!strResult.isEmpty())
{
Message message = Message.obtain(activity.getHandler(), R.id.decode_succeeded, strResult);//Message信息传来传去,有点绕
Log.d(TAG, "Sending decode succeeded message...");
message.sendToTarget();
}
else
{
Message message = Message.obtain(activity.getHandler(), R.id.decode_failed);
message.sendToTarget();
}
}

  

Android下利用zbar类库实现扫一扫的更多相关文章

  1. Android下利用zxing类库实现扫一扫

    程序源代码及可执行文件下载地址:http://files.cnblogs.com/rainboy2010/zxingdemo.zip zxing,一款无比强大的条码解析类库,下面讲解一下如何利用zxi ...

  2. Android下利用Bitmap切割图片

    在自己自定义的一个组件中由于需要用图片显示数字编号,而当前图片就只有一张,上面有0-9是个数字,于是不得不考虑将其中一个个的数字切割下来,需要显示什么数字,只需要组合一下就好了. 下面是程序的关键代码 ...

  3. android 下 利用webview实现浏览器功能

    android 下 利用webview实现浏览器功能(一): 1.界面添加WEBVIEW控件. 2.在界面.JAVA代码页面(protected void onCreate(Bundle savedI ...

  4. Android下利用SQLite数据库实现增删改查

    1: 首先介绍如何利用adb查看数据库 1: adb shell 2: cd /data/data/包名/databases 3:  sqlite3 数据库 4   接下来就可以进行数据库的sql语法 ...

  5. Android下利用RadioGroup和RadioButton实现Tabbar的效果

    本实现方法主要使用RadioGroup和RadioButton的组合方式来实现Tabbar的效果. 其中选中的Tab的切换的动作可以通过RadioGroup的OnCheckedChangeListen ...

  6. android利用zbar二维码扫描-(解决中文乱码及扫描区域定义)

    写在最前(这是对上一篇博文的问题做的更新[android利用zbar二维码扫描]) project下载   zbarLib编译project  project下载0积分 bug 在2.3的系统中Hol ...

  7. Android平台下利用zxing实现二维码开发

    Android平台下利用zxing实现二维码开发 现在走在大街小巷都能看到二维码,而且最近由于项目需要,所以研究了下二维码开发的东西,开源的二维码扫描库主要有zxing和zbar,zbar在iPos平 ...

  8. (转载)Android平台下利用zxing实现二维码开发

    Android平台下利用zxing实现二维码开发 现在走在大街小巷都能看到二维码,而且最近由于项目需要,所以研究了下二维码开发的东西,开源的二维码扫描库主要有zxing和zbar,zbar在iPos平 ...

  9. 【转】Android 源码下利用jni编译自己的项目(参考系统development/samples/SimpleJNI)

    原文网址:http://blog.csdn.net/qiuxiaolong007/article/details/7860481 记于正文前:环境是ubuntu10.10,android 源码是2.0 ...

随机推荐

  1. C++引用以及定义常见问题总结

    最近在做数据结构的实验,暴露了一些典型问题,这里总结一下,避免以后出错 编译时报一个特别长的错:“无法解析的外部符号”,行号还是1,应该看一下定义的成员函数有没有还没有实现就被调用的,实验接口普遍挺多 ...

  2. C++模板的使用以及常见问题

    最近的数据结构实验频繁地遇到了模板,之前对这一块接触不多,遇到了很多问题,放到这里总结一下. 模板的声明有两种:template <typename Type>或者template< ...

  3. 【剑指offer】Java版代码(完整版)

    原文地址:https://blog.csdn.net/baiye_xing/article/details/78428561 一.引言 <剑指offer>可谓是程序猿面试的神书了,在面试中 ...

  4. adb.exe已停止工作

    提示adb.exe错误,我电脑上没有安装豌豆荚,也没运行其它应用,最后发现是360杀毒软件导致的,进程中关掉360Mobile即可.

  5. 【一】java 虚拟机 监控示例 Eclipse Memory Analyser

    1.堆内存溢出示例代码 import java.util.ArrayList; import java.util.List; public class TestHeap { public static ...

  6. Continuous Design

    Continuous Design https://www.martinfowler.com/ieeeSoftware/continuousDesign.pdf T he rising popular ...

  7. oracle 利用over 查询数据和总条数,一条sql搞定

    select count(*) over()总条数 ,a.*from table a

  8. Loadrunner 如何在其他浏览器进行录制(一)

    背景: 由于lr只支持低版本的IE浏览器,当我们想使用高版本或其他浏览器进行录制时,这时,我们需要用到浏览器的代理功能. 传统的访问模式如下: 使用代理后的访问方式: 下面来总结一下具体的步骤: 1. ...

  9. day 11 - 1 装饰器

    装饰器 装饰器形成的过程:最简单的装饰器——有返回值的——有一个参数——万能参数装饰器的作用:不想修改函数的调用方式 但是还想在原来的函数前后添加功能原则:开放封闭原则语法糖:@装饰器函数名装饰器的固 ...

  10. python(六)列表推导式、字典推导式、集合推导式

    转载 https://www.cnblogs.com/tkqasn/p/5977653.html