Android二维码实用——ZXing斑马线

本文介绍了ZXing在Android上的应用,它是一个流行的开源库,用于解析条形码和二维码。尽管ZXing和zBar都有各自的优点,但ZXing在二维码识别上更为出色。文中提供了一个封装好的ZXing库,并详细讲解了如何将其集成到项目中,包括关键类如CaptureActivity、ViewfinderView和CameraConfigurationManager。同时,还提到了二维码在线生成器的使用和ZXing解码流程。
摘要由CSDN通过智能技术生成

介绍

这里写图片描述

相信Adnroid开发都知道,有四款扫描器,Zxing 、Zbar ,Barcode4J、OkapiBarcode 前二者应用较广泛

在android上二维码、条形码扫描,google官方为我们提供了zXing,几乎android涉及到扫描的都是用这个开源项目实现的,也有在android上使用zBar的,和其他用过的交流得知zBar在扫描条形码时优于zXing,在条形码上zXing更胜一筹,ios一般使用zBar。

本文使用ZXing 1.6实现条码/二维码识别。ZXing是个很经典的条码/二维码识别的开源类库,很早就有开发者在J2ME上使用ZXing了,不过要支持JSR-234规范(自动对焦)的手机才能发挥其威力,而目前已经有不少Android手机具备自动对焦的功能。
这里写图片描述

ZXing基本介绍
ZXing是一个开源Java类库用于解析多种格式的条形码和二维码

这里写图片描述
这里为大家也提供一个封装好的最新的ZXing Lib:
点击查看

一、区别
与一维条形码相比二维条形码有着明显的优势,归纳起来主要有以下几个方面:   
一)数据容量更大   
二)超越了字母数字的限制   
三)条形码相对尺寸小
四)具有抗损毁能力

二、二维码在线生成

网址输入:二维码在线生成器

http://cli.im/

用处:关于页面有个二维码,供别人扫描,宣传公司

2、ZXing库主要类
  下面给大家介绍一下,ZXing库里面主要的类以及这些类的作用:

MainActivity。这个是启动Activity 也就是扫描器。
CaptureActivityHandler 解码处理类,负责调用另外的线程进行解码。
DecodeThread 解码的线程。
com.google.zxing.client.android.camera 包,摄像头控制包。
ViewfinderView 自定义的View,就是我们看见的拍摄时中间的框框了。

如果你项目也想加入此功能,你直接将com.mining.app.zxing.camera,com.mining.app.zxing.decoding,com.mining.app.zxing.view这三个包拷贝到你的项目中,然后引入相对应的资源进去,我也是从我的项目中直接引用过来的,包名都没改呢,当然还需要引用Zxing.jar
com.example.qr_codescan包里面有一个MipcaActivityCapture,也是直接引入我之前项目的代码的,这个Activity主要处理扫描界面的类,比如,扫描成功有声音和振动等等,主要关注里面的handleDecode(Result result, Bitmap barcode)方法,扫描完成之后将扫描到的结果和二维码的bitmap当初参数传递到handleDecode(Result result, Bitmap barcode)里面,我们只需要在里面写出相对应的处理代码即可,其他的地方都不用改得,我这里处理扫描结果和扫描拍的照片

解析

CaptureActivity

ZXing暴露的调用Activity。在handleDecode方法中对扫码成功后的动作作处理。

ViewfinderView

ZXing扫码窗口的绘制,原始的ZXing使用这种方式去绘制,在上面提供的开源库中,作者将扫描框的绘制直接抽取到了XML文件中,这样修改起来更加方便了。

CameraConfigurationManager

修改横竖屏、处理变形效果的核心类。

在public void setDesiredCameraParameters(Camera camera, boolean safeMode)方法中(读取配置设置相机的对焦模式、闪光灯模式等等),可以将扫描改为竖屏

在public void initFromCameraParameters(Camera camera)方法中(计算了屏幕分辨率和当前最适合的相机像素),我们可以对修改为竖屏扫码后,由于像素信息点没有对调造成图像扭曲变形进行修改。

DecodeHandler.decode

ZXing解码的核心类

CaptureActivityHandler

当De

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值