美文网首页
安卓生成二维码教程

安卓生成二维码教程

作者: jacob_ | 来源:发表于2017-07-22 13:15 被阅读0次

    1.简介

    这是一篇安卓生成二维码的文章,文章中不涉及太多原理方面的问题,只是单纯的让读者知道如何生成二维码。

    2.准备工作

    核心Jar包下载


    将上面下载的jar包放入如图所示位置,我们就完成了准备工作。

    3.生成二维码

    布局代码如下:


    Java代码如下:
    public Bitmap generateBitmap(String content,int width,int height){ QRCodeWriter writer = new QRCodeWriter(); Map<EncodeHintType,String> hint =new HashMap<>(); hint.put(EncodeHintType.CHARACTER_SET,"utf-8"); try { BitMatrix encode = writer.encode(content, BarcodeFormat.QR_CODE,width,height,hint); int []pixels = new int[width*height]; for(int i=0;i<height;i++){ for(int j=0;j<width;j++){ if(encode.get(j,i)){ pixels[i*width+j]=0x00000000; }else { pixels[i*width+j]=0xffffffff; } } } return Bitmap.createBitmap(pixels,0,width,width,height, Bitmap.Config.RGB_565); } catch (Exception e){ e.printStackTrace(); } return null; }

    代码中要点解释

    content:要转化为二维码的内容
    wide:要生成的二维码的宽
    height:要生成的二维码的高
    QRCodeWriter:对文本进行编码(利用它的方法encode)的工具类,encode方法接收5个参数,第一个参数为文本内容,第二个参数为编码格式,第三、四个参数为宽与高,第五个为设置文本的编码。
    那么我们的二维码是如何生成的呢?我们把一张二维码图片可以看做是由I行j列组成的。当某一个位置有数据时就为黑色,没有数据的时候就为白色。那么就需要遍历整个数组。最后再调用Bitmap的createBitmap方法返回一个Bitmap对象就完成了本次二维码生成的核心代码。createBitmap方法接收六个参数,第一个代表像素点的颜色,第二个为像素点的偏移量,第三个为Bitmap每一行有多少个像素点,第四个为生成bitmap的宽度,第五个为bitmap的高度,第六个为色彩模式。

    调用该方法得到二维码

    4.结语

    二维码的生成就到此结束啦,后续还会更新二维码的扫描等。

    相关文章

      网友评论

          本文标题:安卓生成二维码教程

          本文链接:https://www.haomeiwen.com/subject/qwsqkxtx.html