Android-zxing使用总结

需求

最近三个月一直忙于@微卖客户端的开发,在开发过程中遇到各种各样的问题,虽问题一一解决但并没有很好的归类与整理,恰好遇到假期有时间由近及远的梳理一下,而条码与二维码的扫描则是近期遇到问题之一.好在android的迅速发展也带动了第三方开发者在此平台上的活跃度,从Github上我们几乎能找到各种常用的组件与工具包,而zxing也是解决条码与二维码的扫描的成熟方案之一.

zxing使用问题

  1. zxing最新版本是3.1.0,但是在实际使用过程中发现取景框与实际抓图高度存在偏差,导致经常不能正确识别条码,只是由于开发时间关系,我并没有直接去找原因,而是退而求其次选择了2.3.0的版本使用,果然问题消失了.
  2. 在zxing的使用过程中,官方自带的例子使用了很多我们不太需要的功能,而我的需求只是正确识别二维码与条码即可,当然能有开灯功能更好,而在使用这些功能完全可以将很多不用的模块剔除掉,从而关注我们自己的核心业务.
  3. zxing在例子中只提供了横屏解决方案,但我们的需求是需要竖屏使用,同样需要对zxing做点小改造.

改造方案

  1. 下载zxing-core-2.3.0.jar
  2. 创建MainActivity,代码类似这样

  3. 然后添加CaptureActivity,代码如下

  4. 修改CameraManager,可设置取景框高度与宽度

  5. 修改CameraConfigurationManager,设置竖屏参数

  6. 修改DecodeHandler,保证byte数组中顺序

  7. 最后附上capture.xml

  8. 基本上添加完这些类后再导入这些类的依赖包即可完成扫描功能,而其它代码均在官网找到,这里也不一一列举了

发表评论(咦,这里还有个板凳哦!)

设置头像

*

:wink: :twisted: :smile: :sleep: :shock: :sad: :roll: :razz: :oops: :neutral: :mad: :grin: :evil: :eek: :cry: :cool:

  1. chen 说:

    牛x!