/Android-Zxing

自用 Android二维码扫描/生成

Primary LanguageJavaMIT LicenseMIT

Android-Zxing

** 自用Android 二维码扫描 / 生成 **

适用于Android的二维码(条形码)扫描/二维码生成,使用ZXing进行解码。 该项目基于ZxingLite,见Fork。实现基本的Android 二维码生成与扫描功能. 有关更多高级用法,可参考zxing-android-embedded

GitHub issuesGitHub forksGitHub starsGitHub license

使用依赖

使用依赖

  1. 在项目根目录的build.gradle文件中添加:
allprojects {
    repositories {
        ...
        mavenCentral()
    }
}
  1. 在项目Module下的build.gradle文件中添加:
dependencies {
    implementation 'io.github.xmaihh:zxinglite:1.0.1'
}
  • Min SDK 14 (Android 4.0 Ice Cream Sandwich)

用法

  1. 二维码/条形码生成QRCodeUtil
 boolean success = QRCodeUtil.createQRImage(et_url.getText().toString().trim(), 800, 800,
                                checkBox.isChecked() ? BitmapFactory.decodeResource(getResources(), R.mipmap.ic_launcher) :
                                        null,
                                filePath);
  1. 二维码图片识别QRcodeActivity
 Bitmap obmp = ((BitmapDrawable) (iv_qrcode).getDrawable()).getBitmap();
                int width = obmp.getWidth();
                int height = obmp.getHeight();
                int[] data = new int[width * height];
                obmp.getPixels(data, 0, width, 0, 0, width, height);
                RGBLuminanceSource source = new RGBLuminanceSource(width, height, data);
                BinaryBitmap bitmap1 = new BinaryBitmap(new HybridBinarizer(source));
                QRCodeReader reader = new QRCodeReader();
                Result re = null;
                try {
                    re = reader.decode(bitmap1);
                } catch (NotFoundException e) {
                    e.printStackTrace();
                } catch (ChecksumException e) {
                    e.printStackTrace();
                } catch (FormatException e) {
                    e.printStackTrace();
                }
  1. 二维码扫描 请参考DefaultCaptureActivity

声明权限

    <!--生成\识别二维码到本地需要开启读写权限-->
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
    <!--扫描二维码需要开启以下权限-->
    <uses-permission android:name="android.permission.CAMERA"/>
    <uses-permission android:name="android.permission.VIBRATE"/>

适配Android6.0及以上需自行处理以上权限

演示效果

演示效果

演示效果