Android 使用Zxing库扫描二维码

来源:互联网 发布:电脑保密软件 编辑:程序博客网 时间:2024/04/29 14:48

本文是使用Zxing库。android语言,eclipse等工具集成的扫描二维码的demo。具体的Zxing库的作用我这里就不多说了。
下面是集成Zxing库和步骤和demo的集成例子。
从Zxing库的开源地址链接上下载Zxing源代码,下载下来后,我们主要用到的是Android部分你的代码,下面开始进行Zxing库的集成和扫描代码的描述。

一.集成Zxing库

1.下载的Zxing库会有多个文件夹,其中用到的是android(demo)android-core(核心代码的工具类),core(核心源码)这三个文件夹,将android文件夹下的源代码导入到自己的工程中,我这里是导入到eclipse的工具里,导入后会发现报错(先不用理),接着导入core文件夹,右击上面已经导入的CaptureActivity项目->Build Path->Link Source ,一直到core文件夹下的java文件夹。
把当前jdk的版本调为1.7,sdk的版本调为5.0.1,做完这些以后,发现就只剩下一个错误:CameraConfigurationManger.java报错,原因是缺少工具类,我们就把从Zxing下载库里的android-core这个文件夹下去复制拷贝工具类到CameraConfigurationManger.java同级目录下,然后再CameraConfigurationManger.java类里面导入import即可。
解决完错误,把core文件夹下导出为一个jar包。
右键core核心代码文件夹->Export->Java->JAR file->自定义要输出的文件路径 。这样就出了一个zxing.jar包。
详情可以查看:用eclipse 将ZXing库 打包成jar包方法

二.集成demo

下载扫描demo,这里已经集成好了一个Demo,下面是对项目的具体说明,集成时将上面形成的Zxing.jar包导入到libs文件夹下即可。
CaptureActivity Zxing暴露出来进行调用的界面,在handleDecode方法中对扫码成功后的动作进行处理。

CameraManager getFramingRect()方法,定义了扫描的区域,可以自己修改。

ViewfinderView ZXing扫码窗口的绘制。

private void drawTextInfo(Canvas canvas, Rect frame)
修改文本绘制的位置

private void drawLaserScanner(Canvas canvas, Rect frame)
修改扫描线的样式。注意若使用paint.setShader(Shader shader) 方法,一定要在绘制完成后调用paint.setShader(null)。以免绘制信息出错。

CameraConfigurationManager 修改横竖屏、处理变形效果的核心类。
DecodeHandler.decode ZXing解码的核心类
CaptureActivityHandler

当DecodeHandler.decode完成解码后,系统会向CaptureActivityHandler发消息。如果编码成功则调用CaptureActivity.handleDecode方法对扫描到的结果进行分类处理。
可以参考Android添加二维码扫描zxing

有需要下载zxing.jar库的可以去zxing库下载

原创粉丝点击