Android之二维码zxing

zxing项目地址:https://github.com/zxing/zxing
API文档:https://zxing.github.io/zxing/apidocs/

在zxing中解码大致流程为:
1:获取摄像头byte[] data
2:对数据进行解析
在zxing客户端源码中
PreviewCallback 摄像头回调 data就是出自这里
PlanarYUVLuminanceSource 继承自LuminanceSource不同的数据源 YUV RGB RGBLuminanceSource
AutoFocusCallback 自动对焦。不能自动对焦的手机zxing就不能发威了
CameraManager 摄像头管理类。打开,关闭
DecodeThread 线程管理主要利用到了CountDownLatch
DecodeHandler 数据传输中枢。我理解DecodeThread控制线程,DecodeHandler发送数据
DecodeFormatManager 这个配置解码格式。一维码,二维码等
CaptureActivityHandler 这个是解码与avtivity中介。解码成功,失败都用她回调
ViewfinderView 我们看到的扫描框,搞花样就从她入手

DecodeHandler是二维码解析的核心类,其成员变量MultiFormatReader是一个通用的解析器,可解析条形码、二维码等。MultiFormatReader也可替换成QRCodeReader、QRCodeMultiReader等其他解析器。构造方法中的Map<DecodeHintType, Object>是解析参数列表。

实现多个二维码解析

将DecodeHandler中的成员变量MultiFormatReader替换成QRCodeMultiReader。将void decode(byte[] data, int width, int height)方法进行如下修改:

priva
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值