Android二维码ZXING3.0(201403公布)接入

Android二维码ZXING3.0(201403发布)接入

ZXING开源项目官方网站https://github.com/zxing/zxing/tree/zxing-3.0.0。

架包下载地址http://repo1.maven.org/maven2/com/google/zxing/core/3.0.0/

官方说明:https://github.com/zxing/zxing/wiki/Getting-Started-Developing(全英语,本文章也参考了)

包比较大128M。里面的东西也非常的多。这篇文章能帮助你的就是,最少代码,最小体积的实现我们二维码扫描和创建的工作。

1.官方推荐接入方式
不修改源码,通过Intent的方式调用。
调用简单,不破坏内部,不易出错。
要同时安装一个APK,显然就这一条就不是我们要的方式。


2.修改DEMO源码,不修改core核心包。本文采用这种方式
去掉不用的功能代码,自定义界面调用方式,结果处理方式。
修改调用比较简单,没有破坏core核心包,解析生成稳定。


Core核心包中大体功能点有:

1.core核心包。
2.震动,声音管理,摄像头控制,子线程与主线程交互管理。
3.不同电量模式管理。
4.用户偏好记录与设置,扫描历史记录管理,通过短信等分享。
5.用户使用帮助,谷歌搜索,谷歌商店等。
6.多结果处理包括电话,短信,网址,wifi设置等等


以上为背景知识稍作了解即可:

二维码解析全过程

过程如图:

Android二维码ZXING3.0(201403公布)接入

正如前面说的,不修改core核心包,为了较为快速的完成开发工作,这里我们尽量避免接触核心包的代码。
核心是数据解析,数据获取,UI更新这3件事情是分别处理的。线程间的通讯都依靠Handler。
调焦距只是一个动作与相机拍摄图片是相互独立的模块,但是有先后顺序。相机不断的拍摄图片,调焦距开始到完成中间可能拍摄了多张图片解码了多次。
初始化摄像头相关的参数,根据偏好设置。比如是否打开闪光灯等。只设置一次。


ZXING3.0项目背景介绍

下载好的压缩文件中包含android文件夹,导入eclipse后工程名为CaptureActivity。工程为maven工程,算是让人头疼的事情。

下一篇文章我会详细介绍步骤。