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库下载
- Android 使用Zxing库扫描二维码
- 使用Zxing实现Android二维码扫描
- android 二维码扫描(zxing使用小结)
- android 二维码扫描(zxing使用小结)
- Android 使用zxing扫描二维码横屏转竖屏
- android使用zxing实现二维码扫描
- xamarin android使用zxing扫描二维码
- Android使用zxing实现二维码扫描
- 二维码扫描第三库ZXing的使用
- android 使用开源库zxing生成二维码,扫描二维码
- android 使用开源库zxing生成二维码,扫描二维码
- Android使用ZXing扫描二维码,并返回二维码结果
- Android中Zxing扫描二维码
- android zxing 扫描二维码 横屏转竖屏
- android利用ZXing扫描二维码
- Android-扫描二维码、生成二维码(Zxing库)
- 使用ZXing实现二维码扫描
- 使用ZXing实现二维码扫描
- Springboot+Vue 的前后端分离与合并方案
- Tensor Transformations
- Kotlin的==与===
- moylok
- java.util.concurrent.atomic
- Android 使用Zxing库扫描二维码
- Java—基础
- AWS+Shadowsocks 实现个人专属网络通道
- 输入123然后分离出百位1,十位2,个位3,计算3*100+2*10+1=321
- mysql 1236
- RX500系列显卡挖矿修改BIOS教程
- Git多帐号配置
- 记录:ajax获取数据动态生成select下拉选js部份
- C语言作业题(2)