android之二维码扫描的实现
二维码扫描引擎有 ZBar 和ZXing
一、 使用开源ZXing扫描的缺点
1、原始代码是横屏模式,尽管可以改成竖屏,但是扫描界面的自定义和多屏幕适配不好做
2、有效扫描区域不好控制,可能是我自己技术不成熟,没找到好方法
3、ZXing是Java写的,对二维码的解析效率没有ZBar快
二、 使用iOS开发经常使用的ZBar扫描的缺点
1、 ZBar是C实现的二维码解析,但是在解析中文时会乱码
2、 ZBar的扫描界面对相机的控制没有ZXing封装的好
基于以上一些原因,将二者结合起来,用ZXing来控制摄像头取得图像,用ZBar来解析扫描到的数据,最终形成目前的项目。
ZBar可以直接扫二维码和条形码,
ZXing可以直接扫二维码, 如果要扫条形码,则需要去改改代码花点功夫了。
维码库有两个,分别是ZXing和ZBar,其中ZXing在Android开发中较为常见,而ZBar则在IOS开发中较为常见,更重要的一点是,这两个库都是开源
1、相机的获取及相机的交互处理
2、二维码图片的获取
3、二维码图片的解析
//获取照相机的方法
public static Camera getCameraInstance()
{
Camera mCamera = null;
try
{
mCamera = Camera.open();
//没有后置摄像头,尝试打开前置摄像头*******************
if (mCamera == null)
{
Camera.CameraInfo mCameraInfo = new Camera.CameraInfo();
int cameraCount = Camera.getNumberOfCameras();
for (int camIdx = 0; camIdx < cameraCount; camIdx++)
{
Camera.getCameraInfo(camIdx, mCameraInfo);
if (mCameraInfo.facing == Camera.CameraInfo.CAMERA_FACING_FRONT)
{
mCamera = Camera.open(camIdx);
}
}
}
}
catch (Exception e)
{
e.printStackTrace();
}
return mCamera;
}
android之二维码扫描的实现的更多相关文章
- Android—ZXing二维码扫描遇到的问题
最近工作中需要开发带有二维码扫描功能的软件(基于开源项目ZXing),遇到的问题记录一下,也希望给大家带来帮助. 1.首先因为扫描要开摄像机所以加权限是一定的,不然后面什么都不能进行 <uses ...
- Android实现二维码扫描登录网页
之前写过一个二维码扫描demo,用的Zxing的框架,点击下载.兴许扫描二维码中出现一些问题,比方解决压缩图片.调整扫描窗体大小等等. 兴许单位要求做扫描登录实现,发现难点就是怎么知道你扫描的 ...
- Android集成二维码扫描功能
文章转载自 https://github.com/yipianfengye/android-zxingLibrary 在具体介绍该扫描库之前我们先看一下其具体的使用方式,看看是不是几行代码就可以集成 ...
- Android实现二维码扫描功能
1.效果预览 先上图展示效果(模拟器没有摄像头,录出来效果不好,将就看) 2.集成步骤 1.拷贝本项目demo中的com.google.zxing5个包引入到自己的项目中. 2.拷贝本项目demo中的 ...
- Android仿微信二维码扫描
转载:http://blog.csdn.net/xiaanming/article/details/10163203 了解二维码这个东西还是从微信中,当时微信推出二维码扫描功能,自己感觉挺新颖的,从一 ...
- Android 基于google Zxing实现二维码、条形码扫描,仿微信二维码扫描效果
Android 高手进阶(21) 版权声明:本文为博主原创文章,未经博主允许不得转载. 转载请注明出处:http://blog.csdn.net/xiaanming/article/detail ...
- android 二维码扫描
了解二维码这个东西还是从微信 中,当时微信推出二维码扫描功能,自己感觉挺新颖的,从一张图片中扫一下竟然能直接加好友,不可思议啊,那时候还不了解二维码,呵呵,然后做项目的时候, 老板说要加上二维码扫描功 ...
- 【转】Android 基于google Zxing实现二维码、条形码扫描,仿微信二维码扫描效果--不错
原文网址:http://blog.csdn.net/xiaanming/article/details/10163203 转载请注明出处:http://blog.csdn.net/xiaanming/ ...
- 基于google Zxing实现二维码、条形码扫描,仿微信二维码扫描效果(转)
转载:http://blog.csdn.net/xiaanming/article/details/10163203 了解二维码这个东西还是从微信 中,当时微信推出二维码扫描功能,自己感觉挺新颖的,从 ...
随机推荐
- Page Visibility(页面可见性) API介绍、微拓展[转]
一.网页君的悲情谁来懂 唉,突然想到了一首悲情诗: 泪湿罗巾梦不成,夜深前殿按歌声.红颜未老恩先断, 斜倚薰笼坐到明. 学生时代学过的一首诗,已还给老师不知所云的诸位可参见下面释义: 诗的主人公是一位 ...
- C#基础----Linq之List<T>篇
最近有用到List处理排序以及分页的问题.想想还是写一个博客记录一下.以下围绕Person类实现,Person类只有Name和Age两个属性 一.List<T>排序 1.1 List& ...
- android代码优化----ListView中自定义adapter的封装(ListView的模板写法)
[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4 ...
- 第三方登录 (faceBook )
1.iOS 第三方登录(Facebook,Twitter...)http://www.jianshu.com/p/f64d5ad2ef2a
- SQL Server系统表sysobjects介绍与使用(转))
这就让sysobjects表格有了用武之地.虽然我不建议你更新这个表格,但是你当然有权对其进行审查. sysobjects 表 在数据库内创建的每个对象(约束.默认值.日志.规则.存储过程等)在表中 ...
- RPM方式编译升级centos内核
[root@iZ2893wjzgyZ ~]# rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org [root@iZ2893wjzgyZ ...
- javascript判断手机旋转横屏竖屏
javascript判断手机旋转横屏竖屏 // 横屏竖屏函数 function orientationChange(){ switch(window.orientation) { case 0: // ...
- QuartzCore笔记
Quartz Core 图层编程 一.添加 Quartz Core 框架 要使用 Quartz Core 框架,你需要将其添加到你的工程中 . 然后 #import <Quartz Core/Q ...
- Java手动添加SSL证书
出现错误为 SSLHandshakeException - unable to find valid certification path to requested target 在服务器上找到对应的 ...
- PL/SQL异常处理方法
PL/SQL异常处理方法 1:什么是异常处理: PL/SQL提供一个功能去处理异常,在PL/SQL块中叫做异常处理,使用异常处理我们能够测试代码和避免异常退出. PL/SQL异常信息包含三个部分: ...