littlebot
Published on 2025-04-12 / 1 Visits
0

【源码】基于Android ZXing库的二维码扫描与生成工具

项目简介

本项目是基于Android平台开发的二维码扫描与生成工具,借助ZXing(Zebra Crossing)开源库实现二维码的扫描、解析和生成功能。具备丰富功能和灵活的UI定制选项,适用于需集成二维码扫描和生成功能的Android应用。

项目的主要特性和功能

  1. 二维码扫描:可打开默认二维码扫描页面,支持对图片Bitmap和条形码进行扫描。
  2. 二维码生成:能生成带Logo和不带Logo的二维码图片。
  3. UI定制:可对扫描UI进行定制,如自定义扫描框的大小、位置、颜色等属性。
  4. 闪光灯控制:支持控制闪光灯开关,满足不同光线环境下的扫描需求。
  5. 图片解析:可对选中图片进行二维码解析,适用于从相册选图扫描的场景。
  6. 权限处理:支持Android M及以上版本的权限处理,保障应用在不同设备上的兼容性和稳定性。

安装使用步骤

1. 集成依赖

在项目的build.gradle文件中添加以下依赖: gradle dependencies { implementation 'cn.yipianfengye.android:zxing-library:2.2' }

2. 初始化ZXing库

在应用的Application类中进行ZXing库的初始化: java public class MApplication extends Application { @Override public void onCreate() { super.onCreate(); ZXingLibrary.initDisplayOpinion(this); } }

3. 打开二维码扫描界面

在需要启动二维码扫描的Activity中,通过以下代码启动扫描界面: java Intent intent = new Intent(MainActivity.this, CaptureActivity.class); startActivityForResult(intent, REQUEST_CODE);

4. 处理扫描结果

onActivityResult方法中处理扫描结果: java @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); if (requestCode == REQUEST_CODE) { if (data != null) { Bundle bundle = data.getExtras(); if (bundle != null) { if (bundle.getInt(CodeUtils.RESULT_TYPE) == CodeUtils.RESULT_SUCCESS) { String result = bundle.getString(CodeUtils.RESULT_STRING); Toast.makeText(this, "解析结果:" + result, Toast.LENGTH_LONG).show(); } else if (bundle.getInt(CodeUtils.RESULT_TYPE) == CodeUtils.RESULT_FAILED) { Toast.makeText(MainActivity.this, "解析二维码失败", Toast.LENGTH_LONG).show(); } } } } }

5. 生成二维码

通过以下代码生成带Logo的二维码: java String textContent = editText.getText().toString(); if (TextUtils.isEmpty(textContent)) { Toast.makeText(ThreeActivity.this, "您的输入为空!", Toast.LENGTH_SHORT).show(); return; } editText.setText(""); Bitmap mBitmap = CodeUtils.createImage(textContent, 400, 400, BitmapFactory.decodeResource(getResources(), R.mipmap.ic_launcher)); imageView.setImageBitmap(mBitmap);

6. 控制闪光灯

通过以下代码控制闪光灯的开关: ```java // 打开闪光灯 CodeUtils.isLightEnable(true);

// 关闭闪光灯 CodeUtils.isLightEnable(false); ``` 通过以上步骤,可轻松将二维码扫描和生成功能集成到Android应用中。

下载地址

点击下载 【提取码: 4003】【解压密码: www.makuang.net】