Android如何生成条形码和二维码功能
发表于:2025-11-08 作者:千家信息网编辑
千家信息网最后更新 2025年11月08日,这篇文章给大家分享的是有关Android如何生成条形码和二维码功能的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。背景:随着移动互联网的普及以及智能终端设备的广泛应用,移动支
千家信息网最后更新 2025年11月08日Android如何生成条形码和二维码功能
这篇文章给大家分享的是有关Android如何生成条形码和二维码功能的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。
背景:
随着移动互联网的普及以及智能终端设备的广泛应用,移动支付变得越来越便捷,通过扫描二维码代替传统的刷卡行为。那么作为开发者而言生成二维码成为了一项必备技能。
准备:
使用zxing包
implementation "com.google.zxing:core: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 on 2019/10/10 15:05. * usage: */public class CodeUtils { /** * 生成条形码(不支持中文) * * @param content * @return */ public static Bitmap createBarcode(String content) { try { BitMatrix bitMatrix = new MultiFormatWriter().encode(content, BarcodeFormat.CODE_128, 3000, 700); int width = bitMatrix.getWidth(); int height = bitMatrix.getHeight(); int[] pixels = new int[width * height]; for (int y = 0; y < height; y++) { int offset = y * width; for (int x = 0; x < width; x++) { pixels[offset + x] = bitMatrix.get(x, y) ? 0xff000000 : 0xFFFFFFFF; } } Bitmap bitmap = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888); bitmap.setPixels(pixels, 0, width, 0, 0, width, height); return bitmap; } catch (WriterException e) { e.printStackTrace(); } return null; } /** * 生成二维码 * * @param content * @return */ public static Bitmap createQrcode(String content) { Map hints = new HashMap<>(); // 支持中文配置 hints.put(EncodeHintType.CHARACTER_SET, "UTF-8"); hints.put(EncodeHintType.ERROR_CORRECTION, ErrorCorrectionLevel.H); try { BitMatrix bitMatrix = new MultiFormatWriter().encode(content, BarcodeFormat.QR_CODE, 1000, 1000 , hints); int width = bitMatrix.getWidth(); int height = bitMatrix.getHeight(); int[] pixels = new int[width * height]; for (int y = 0; y < height; y++) { int offset = y * width; for (int x = 0; x < width; x++) { pixels[offset + x] = bitMatrix.get(x, y) ? 0xff000000 : 0xFFFFFFFF; } } Bitmap bitmap = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888); bitmap.setPixels(pixels, 0, width, 0, 0, width, height); return bitmap; } catch (WriterException e) { e.printStackTrace(); } return null; }} 使用:
ImageActivity.javapublic class ImageActivity extends AppCompatActivity { @RequiresApi(api = Build.VERSION_CODES.JELLY_BEAN) @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_image); ImageView ivBarcode = findViewById(R.id.iv_barcode); ImageView ivQrcode = findViewById(R.id.iv_qrcode); ivBarcode.setImageBitmap(CodeUtils.createBarcode("This is a barcode")); ivQrcode.setImageBitmap(CodeUtils.createQrcode("This is a qrcode")); }}activity_image.xml
感谢各位的阅读!关于"Android如何生成条形码和二维码功能"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!
二维
二维码
生成
条形
条形码
功能
内容
更多
篇文章
中文
支持
移动
不错
便捷
实用
互联网
代码
传统
开发者
技能
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
超星网络安全技术
方舟手游怎么开服务器i
绩溪微型软件开发服务价钱
温州公司网络安全准入控制价格
国内外网络技术分析
服务器远程不上
幸运空岛服务器是什么
深圳星河软件开发有限公司
软件开发培训多钱6
h5网络安全法模板
同台服务器传文件java
云计算技术应用软件开发与运维
公司数据库一般多少钱
河南维托网络技术有限公司
本科毕业论文 改数据库
网络安全监测预警和应急处置
财务软件不可识别数据库
组态王判断数据库连接状态
无线网络技术结果分析
帮别人实名阿里云服务器有风险吗
江苏时代网络技术代理商
特色民宿软件开发
河北大数据库安全
希腊服务器
国网公司网络安全题库
英雄联盟打到一半无法连接服务器
部落龙升级数据库
网络安全问题开展宣传标语
软件开发人员需要哪些知识
网络安全警钟黑板报图片