ZXing是什么呢?
原项目github地址
zxing是一个关于用java实现的多种格式的1D/2D条码图形处理库。
通常被我们用作扫二维码的开源库来使用,也就是扫二维码使用。在现在的手机版本中,我们的软件通常在兼容性方面还是要兼容好2.33 版本的android 也就是 android API 10的安卓系统的手机,
于是,这个时候我们可以从github上面翻看他们的历史提交记录,从原始的代码中搜索他们曾经开展的过程以及开始到现在的源码提交写的是什么内容。
现在我提供俩个下载,一个是自己弄好的了兼容api 10 的项目项目下载右键另存为这个只能扫描QR码. qcode
至于我修改前的项目在项目下载右键另存为 里面的项目工程是扫描后可直接返回一个string的数据,也就是扫描的内容。当然,也可以在里面继续修改,从而得知扫描的类型是什么,如果是扫描的数据进行修改或者提交。 个人建议,在中国,如果是利用二维码从事一些工作和项目。,那么还是不要直接使用QR码,中国大多数的软件都是扫QR码,那么保密性相对而言比较少,甚至可以说,别人一扫就知道你的内容从而猜出其他的内容。
从某些行业应该使用较少使用的编码方式,甚至只有自己的软件才能使用,那么保密性会从而提升一个等级,甚至安全性也会提高一个等级。
了解了一下QR码,通常使用的领域是服务一次性领域。或者宣传之类的。
生成二维码的代码: ```java import java.util.Hashtable;
import android.graphics.Bitmap;
import com.google.zxing.common.BitMatrix;
public class Create2DCode {
static public Bitmap CreateCode(String str) throws WriterException { //生成二维码
//生成二维矩阵,编码时指定大小,不要生成了图片以后再进行缩放,这样会模糊导致识别失败
Hashtable<EncodeHintType,String> hints = new Hashtable<EncodeHintType,String>();
hints.put(EncodeHintType.CHARACTER_SET, "UTF-8");
//上面的代码主要是为了识别汉字
BitMatrix matrix = new MultiFormatWriter().encode(str,BarcodeFormat.QR_CODE, 300, 300,hints);
//生成二维码的大小
int width = matrix.getWidth();
int height = matrix.getHeight();
//二维矩阵转为一维像素数组,也就是一直横着排了
int[] pixels = new int[width * height];
for (int y = 0; y < height; y++) {
for (int x = 0; x < width; x++) {
if(matrix.get(x, y)){
pixels[y * width + x] = 0xff000000;
}
}
}
Bitmap bitmap = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888);
//通过像素数组生成bitmap,具体参考api
bitmap.setPixels(pixels, 0, width, 0, 0, width, height);
return bitmap;
}
} ```