如何在Android中生成条形码和二维码

  介绍

今天就跟大家聊聊有关如何在Android中生成条形码和二维码,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

,,,,,,,使用zx包

,,,,,,,<代码>实现“com.google.zxing:核心:3.3.1"

核心代码:

package  com.wangpengpro.h6test.utils;   import  android.graphics.Bitmap;   import  com.google.zxing.BarcodeFormat;   import  com.google.zxing.EncodeHintType;   import  com.google.zxing.MultiFormatWriter;   import  com.google.zxing.WriterException;   import  com.google.zxing.common.BitMatrix;   import  com.google.zxing.qrcode.decoder.ErrorCorrectionLevel;   import  java.util.HashMap;   import  java.util.Map;/* *   ,* @author  Created  by  Mr.Wang 提醒2019/10/10  15:05。   ,*用法:   ,*/public  class  CodeUtils  {   ,/* *   ,,*,生成条形码(不支持中文)   ,,*   ,,*,@param 内容   ,,* @return   ,,*/public 才能static  Bitmap  createBarcode (String 内容),{   ,,,try  {   ,,,,,BitMatrix  BitMatrix =, new  MultiFormatWriter () .encode(内容,BarcodeFormat.CODE_128,, 3000,, 700);   ,,,,,int  width =, bitMatrix.getWidth ();   ,,,,,int  height =, bitMatrix.getHeight ();   ,,,,,int [], pixels =, new  int (width  *,高度);   ,,,,,for  (int  y =, 0;, y  & lt;,身高,,y + +), {   ,,,,,,,int  offset =, y  *,宽度;   ,,,,,,,for  (int  x =, 0;, x  & lt;,宽度;,x + +), {   ,,,,,,,,,像素(offset  +, x),=, bitMatrix.get (x, y), ?, 0 xff000000 :, 0 xffffffff;   ,,,,,,,}   ,,,,,}   ,,,,,Bitmap  Bitmap =, Bitmap.createBitmap(宽度、高度,祝福;Bitmap.Config.ARGB_8888);   ,,,,,bitmap.setPixels(像素,0,宽度,,0,0),宽度,高度);   ,,,,,return 点阵;   ,,,},catch  (WriterException  e), {   ,,,,,e.printStackTrace ();   ,,,}   ,,,return 零;   ,,}   ,/* *   ,,*,生成二维码   ,,*   ,,*,@param 内容   ,,* @return   ,,*/public 才能static  Bitmap  createQrcode (String 内容),{   ,,,Map, hints =, new  HashMap<在();   ,,,//,支持中文配置   ,,,hints.put (EncodeHintType.CHARACTER_SET,“UTF-8");   ,,,hints.put (ErrorCorrectionLevel.H EncodeHintType.ERROR_CORRECTION也);   ,,,try  {   ,,,,,BitMatrix  BitMatrix =, new  MultiFormatWriter () .encode(内容,BarcodeFormat.QR_CODE,, 1000,, 1000   ,,,,,,,,,,,提示);   ,,,,,int  width =, bitMatrix.getWidth ();   ,,,,,int  height =, bitMatrix.getHeight ();   ,,,,,int [], pixels =, new  int (width  *,高度);   ,,,,,for  (int  y =, 0;, y  & lt;,身高,,y + +), {   ,,,,,,,int  offset =, y  *,宽度;   ,,,,,,,for  (int  x =, 0;, x  & lt;,宽度;,x + +), {   ,,,,,,,,,像素(offset  +, x),=, bitMatrix.get (x, y), ?, 0 xff000000 :, 0 xffffffff;   ,,,,,,,}   ,,,,,}   ,,,,,Bitmap  Bitmap =, Bitmap.createBitmap(宽度、高度,祝福;Bitmap.Config.ARGB_8888);   ,,,,,bitmap.setPixels(像素,0,宽度,,0,0),宽度,高度);   ,,,,,return 点阵;   ,,,},catch  (WriterException  e), {   ,,,,,e.printStackTrace ();   ,,,}   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null

如何在Android中生成条形码和二维码