Android - Zxing实现二维码的扫描与生成
Zxing:
Zxing是一个开放源码,用java实现的多种格式的1D/2D条码图像处理库,它包含了联系到其他语言的端口。可以实现使用手机内置摄像头完成条形码的扫描以及解码。
github:
https://github.com/zxing/zxing
首先在写项目的时候,我们需要导入一个moduel,主要是从Zxing中提取的主要功能代码。其地址是:
http://pan.baidu.com/s/1c2oX2Ju
扫描二维码:
在点击扫描二维码的页面:
startActivityForResult(new Intent(MainActivity.this, CaptureActivity.class),0);
重写onActivityResult( )方法:
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (resultCode == RESULT_OK){
Bundle bundle = data.getExtras();
String a= bundle.getString("result");
tvResult.setText(a);
}
}
此处: result是从CaptureActivity中传过来的。
a则代表从二维码中获取的数据信息。
生成二维码:
在module中提供了一个生成二维码的工具类:EncodingUtils
包括两个方法: createQRCode() 和 addLogo()
返回的类型: Bitmap
传入的参数: createQRCode(String content, int widthPix, int heightPix, Bitmap logoBm)
content: 二维码生成的内容
widthPix:宽度
HeightPix: 高度
logoBm: 二维码的log 不需要的话 传null
addLogo(Bitmap src, Bitmap logo)
在二维码上添加logo
希望可以对大家有所帮助。