本文将讲解一下我最近写的一个快速集成二维码扫描库,这里需要说明的是其核心的实现扫描的功能,是通过调用ZXing库实现的。内部App中使用到了二维码扫描功能,但是网上找了一些关于二维码扫描的例子,只是我在集成的时候发现通过android studio集成zxing二维码库不是特别方便。
首先来介绍一下 ZXing 库
分类
编码:使用字符串生成图片。
解码:解析图片中的字符串。
方法参数说明如下:
参数 |
说明 |
String contents | 编码的内容 |
BarcodeFormat format | 编码的方式(二维码、条形码...) |
int width | 首选的宽度 |
int height | 首选的高度 |
Map<EncodeHintType , ?> hints | 编码时的额外参数 |
从上面可以看出,除了我们常规认为的编码需要内容之外,还有其他不少的信息,如编码的方式(这里只探讨二维码),二维码的首选宽高(首选的意思是:生成的图片的参考尺寸,如二维码是正方形,但给一个矩形,则会留白,条形码为矩形,设置一个正方形,则也会留白)。
使用说明
-
可打开默认二维码扫描页面
-
支持对图片Bitmap的扫描功能
-
支持对UI的定制化操作
-
支持对条形码的扫描功能
-
支持生成二维码操作
-
支持控制闪光灯开关
- 集成默认的二维码扫描页面
- 在module的build.gradle中执行compile操作
compile 'cn.yipianfengye.android:zxing-library:2.2'
- 在Application中执行初始化操作
@Override
public void onCreate() {
super.onCreate();
ZXingLibrary.initDisplayOpinion(this);
}
- 在代码中执行打开扫描二维码界面操作
/**
* 打开默认二维码扫描界面
*/
button1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(MainActivity.t