安卓生成二維碼教程

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.結語

二維碼的生成就到此結束啦,后續還會更新二維碼的掃描等。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容