【转】Android手机客户端关于二维码扫描的源码--不错
2015-05-06 14:42
253 查看
原文网址:https://github.com/SkillCollege/QrCodeScan
融合了ZXing代码(使用其中的相机管理功能)。
一、 使用开源ZXing扫描的缺点
1、原始代码是横屏模式,尽管可以改成竖屏,但是扫描界面的自定义和多屏幕适配不好做
2、有效扫描区域不好控制,可能是我自己技术不成熟,没找到好方法
3、ZXing是Java写的,对二维码的解析效率没有ZBar快
二、 使用iOS开发经常使用的ZBar扫描的缺点
1、 ZBar是C实现的二维码解析,但是在解析中文时会乱码
2、 ZBar的扫描界面对相机的控制没有ZXing封装的好
基于以上一些原因,笔者决定何不将二者结合起来,用ZXing来控制摄像头取得图像,用ZBar来解析扫描到的数据,最终形成目前的项目。
三、 开发步骤
首先剥离ZXing的Camera控制代码,得到扫描的原始数据,ZXing的ViewFindView个人感觉不是很好,索性我就把它去掉了,
直接通过xml文件进行布局,多屏幕的适配瞬间就解决了。并且对于扫描激光线的动画效果,横竖屏的控制都只需要稍稍变换代码即可实现。 对于ZBar的中文乱码应该怎么解决呢?网上找了之后发现需要修改ZBar的qrcodetxt.c将里面的编码ISO-8859-1改成GBK就可以了
四、 使用方法
1、 Eclipse直接导入运行即可
2、 如果是在Android Studio运行,出现
感谢@Houny提供的Android Studio下运行异常解决方法。
QrCodeScan
这是Android手机客户端关于二维码扫描的源码,使用了高效的ZBar解码库,并修复了中文乱码。融合了ZXing代码(使用其中的相机管理功能)。
一、 使用开源ZXing扫描的缺点
1、原始代码是横屏模式,尽管可以改成竖屏,但是扫描界面的自定义和多屏幕适配不好做
2、有效扫描区域不好控制,可能是我自己技术不成熟,没找到好方法
3、ZXing是Java写的,对二维码的解析效率没有ZBar快
二、 使用iOS开发经常使用的ZBar扫描的缺点
1、 ZBar是C实现的二维码解析,但是在解析中文时会乱码
2、 ZBar的扫描界面对相机的控制没有ZXing封装的好
基于以上一些原因,笔者决定何不将二者结合起来,用ZXing来控制摄像头取得图像,用ZBar来解析扫描到的数据,最终形成目前的项目。
三、 开发步骤
首先剥离ZXing的Camera控制代码,得到扫描的原始数据,ZXing的ViewFindView个人感觉不是很好,索性我就把它去掉了,
直接通过xml文件进行布局,多屏幕的适配瞬间就解决了。并且对于扫描激光线的动画效果,横竖屏的控制都只需要稍稍变换代码即可实现。 对于ZBar的中文乱码应该怎么解决呢?网上找了之后发现需要修改ZBar的qrcodetxt.c将里面的编码ISO-8859-1改成GBK就可以了
四、 使用方法
1、 Eclipse直接导入运行即可
2、 如果是在Android Studio运行,出现
Couldn't load libzbar from loader dalvik.system.PathClassLoader findLibrary returned null 异常的解决方法是: A. 把so文件放到如下目录(src/main/jniLibs/armeabi/libzbar.so) |src |--main/ |----java/ |----res/ |----jniLibs/ |------armeabi |--------libzbar.so B.Rebuild Project 注意:如果是想要在自己的项目中直接使用项目提供的ZbarManager源码。需要保持包名一致(com.zbar.lib)
感谢@Houny提供的Android Studio下运行异常解决方法。
相关文章推荐
- 关于最新58同城android客户端V3.x手机号码解密
- 关于android客户端在线版本更新的总结(json源码)
- Android应用源码比较不错的新闻客户端
- 淘宝网手机客户端应用开发见解带android版源码下载
- 【源码分享下载】每日更新之Android应用源码比较不错的新闻客户端
- Android:手机做服务器控制多个手机客户端同时播放音乐(含源码)
- Android手机客户端二维码扫描
- 项目源码--Android基于LBS地理位置信息应用的客户端
- Android之开源中国客户端源码分析(一)
- 关于android中两次返回键退出客户端与弹出dialog方式退出客户端代码
- 条码扫描二维码扫描——ZXing android 源码简化
- 下载Android手机通讯录和Listview实现A-Z排序(附源码)
- 关于android源码文件操作,无权限问题
- 【备忘】北风网Android应用实战淘宝网手机客户端全程实录 下载
- Android源码手机烧机脚本
- 关于android手机system/build.prop的浅析
- 通过判断浏览器的userAgent,用正则来判断手机是否是ios(苹果)和Android(安卓)客户端
- unity 关于手机客户端的本地文件储存问题 文件路径--适用于安卓手机
- 关于Android的Build类——获取Android手机设备各种信息
- 关于android获取手机号码(主要是移动手机)