QRCode 扫描二维码、扫描条形码、相册获取图片后识别、生成带 Logo 二维码、支持微博微信 QQ 二维码扫描样式

Overview

🏃 BGAQRCode-Android 🏃

目录

功能介绍

根据之前公司的产品需求,参考 barcodescanner 改的,希望能帮助到有生成二维码、扫描二维码、识别图片二维码等需求的猿友。修改幅度较大,也就没准备针对 barcodescanner 库提交PR。

  • 可定制各式各样的扫描框
  • 可定制全屏扫描或只识别扫描框区域内码
  • 可定制要识别的码的格式(详细用法查看 TestScanActivity 中的 onClick 方法)
  • 可以控制闪光灯,方便夜间使用
  • 可以设置用前置摄像头扫描
  • 可以二指缩放预览
  • 可以监听环境亮度,提示用户打开、关闭闪光灯
  • 识别到比较小的码时自动放大

  • ZXing 生成可自定义颜色、带 logo 的二维码
  • ZXing 生成一维码
  • ZXing 扫描条码、二维码
  • ZXing 识别图库中的条码、二维码图片

  • ZBar 扫描条码、二维码「已解决中文乱码问题」
  • ZBar 识别图库中的条码、二维码图片

常见问题

1.部分手机无法扫描出结果,扫描预览界面二维码被压缩

使用的时候将 Toolbar 或者其他 View 盖在 ZBarView 或者 ZXingView 的上面,让 ZBarView 或者 ZXingView 填充屏幕宽高。ZXing 布局文件参考 ZBar 布局文件参考

2.出现黑屏

在自己项目里集成时记得在 onDestroy 方法中调用 mQRCodeView.onDestroy(),在 onStop 方法中调用 mQRCodeView.stopCamera(),否则会出现黑屏。如果没执行前面提到的这两个方法出现黑屏的话,那你就只能加上前面提到的两个方法后,重启手机后重新运行了

效果图与示例 apk

zbar109 zxingbarcode109 zxingdecode109 zxingqrcode109 iqegg

点击下载 ZXingDemo.apk或扫描下面的二维码安装 点击下载 ZBarDemo.apk或扫描下面的二维码安装
ZXingDemo apk文件二维码 ZBarDemo apk文件二维码

Gradle 依赖

  • maven { url 'https://jitpack.io' } 添加到 root build.gradle 的 repositories 中
  • 在 app build.gradle 中添加如下依赖,末尾的「latestVersion」指的是徽章 里的版本名称,请自行替换

ZXing

dependencies {
    implementation 'com.github.bingoogolapple.BGAQRCode-Android:zxing:latestVersion'
}

ZBar

dependencies {
    implementation 'com.github.bingoogolapple.BGAQRCode-Android:zbar:latestVersion'
}

布局文件

ZXing

<cn.bingoogolapple.qrcode.zxing.ZXingView
    android:id="@+id/zxingview"
    style="@style/MatchMatch"
    app:qrcv_animTime="1000"
    app:qrcv_borderColor="@android:color/white"
    app:qrcv_borderSize="1dp"
    app:qrcv_cornerColor="@color/colorPrimaryDark"
    app:qrcv_cornerLength="20dp"
    app:qrcv_cornerSize="3dp"
    app:qrcv_maskColor="#33FFFFFF"
    app:qrcv_rectWidth="200dp"
    app:qrcv_scanLineColor="@color/colorPrimaryDark"
    app:qrcv_scanLineSize="1dp"
    app:qrcv_topOffset="90dp" />

ZBar

<cn.bingoogolapple.qrcode.zbar.ZBarView
    android:id="@+id/zbarview"
    style="@style/MatchMatch"
    app:qrcv_animTime="1000"
    app:qrcv_borderColor="@android:color/white"
    app:qrcv_borderSize="1dp"
    app:qrcv_cornerColor="@color/colorPrimaryDark"
    app:qrcv_cornerLength="20dp"
    app:qrcv_cornerSize="3dp"
    app:qrcv_isShowDefaultScanLineDrawable="true"
    app:qrcv_maskColor="#33FFFFFF"
    app:qrcv_rectWidth="200dp"
    app:qrcv_scanLineColor="@color/colorPrimaryDark"
    app:qrcv_topOffset="90dp" />

自定义属性说明

属性名 说明 默认值
qrcv_topOffset 扫描框距离 toolbar 底部的距离 90dp
qrcv_cornerSize 扫描框边角线的宽度 3dp
qrcv_cornerLength 扫描框边角线的长度 20dp
qrcv_cornerColor 扫描框边角线的颜色 @android:color/white
qrcv_cornerDisplayType 扫描框边角线显示位置(相对于边框),默认值为中间 center
qrcv_rectWidth 扫描框的宽度 200dp
qrcv_barcodeRectHeight 条码扫样式描框的高度 140dp
qrcv_maskColor 除去扫描框,其余部分阴影颜色 #33FFFFFF
qrcv_scanLineSize 扫描线的宽度 1dp
qrcv_scanLineColor 扫描线的颜色「扫描线和默认的扫描线图片的颜色」 @android:color/white
qrcv_scanLineMargin 扫描线距离上下或者左右边框的间距 0dp
qrcv_isShowDefaultScanLineDrawable 是否显示默认的图片扫描线「设置该属性后 qrcv_scanLineSize 将失效,可以通过 qrcv_scanLineColor 设置扫描线的颜色,避免让你公司的UI单独给你出特定颜色的扫描线图片」 false
qrcv_customScanLineDrawable 扫描线的图片资源「默认的扫描线图片样式不能满足你的需求时使用,设置该属性后 qrcv_isShowDefaultScanLineDrawable、qrcv_scanLineSize、qrcv_scanLineColor 将失效」 null
qrcv_borderSize 扫描边框的宽度 1dp
qrcv_borderColor 扫描边框的颜色 @android:color/white
qrcv_animTime 扫描线从顶部移动到底部的动画时间「单位为毫秒」 1000
qrcv_isCenterVertical(已废弃,如果要垂直居中用 qrcv_verticalBias="0.5"来代替) 扫描框是否垂直居中,该属性为true时会忽略 qrcv_topOffset 属性 false
qrcv_verticalBias 扫描框中心点在屏幕垂直方向的比例,当设置此值时,会忽略 qrcv_topOffset 属性 -1
qrcv_toolbarHeight Toolbar 的高度,通过该属性来修正由 Toolbar 导致扫描框在垂直方向上的偏差 0dp
qrcv_isBarcode 扫描框的样式是否为扫条形码样式 false
qrcv_tipText 提示文案 null
qrcv_tipTextSize 提示文案字体大小 14sp
qrcv_tipTextColor 提示文案颜色 @android:color/white
qrcv_isTipTextBelowRect 提示文案是否在扫描框的底部 false
qrcv_tipTextMargin 提示文案与扫描框之间的间距 20dp
qrcv_isShowTipTextAsSingleLine 是否把提示文案作为单行显示 false
qrcv_isShowTipBackground 是否显示提示文案的背景 false
qrcv_tipBackgroundColor 提示文案的背景色 #22000000
qrcv_isScanLineReverse 扫描线是否来回移动 true
qrcv_isShowDefaultGridScanLineDrawable 是否显示默认的网格图片扫描线 false
qrcv_customGridScanLineDrawable 扫描线的网格图片资源 nulll
qrcv_isOnlyDecodeScanBoxArea 是否只识别扫描框中的码 false
qrcv_isShowLocationPoint 是否显示定位点 false
qrcv_isAutoZoom 码太小时是否自动缩放 false

接口说明

QRCodeView

/**
 * ZBarView 设置识别的格式。详细用法请看 zbardemo 的 TestScanActivity 中的 onClick 方法
 *
 * @param barcodeType 识别的格式
 * @param formatList  barcodeType 为 BarcdeType.CUSTOM 时,必须指定该值
 */
public void setType(BarcodeType barcodeType, List<BarcodeFormat> formatList)

/**
 * ZXingView 设置识别的格式。详细用法请看 zxingdemo TestScanActivity 中的 onClick 方法
 *
 * @param barcodeType 识别的格式
 * @param hintMap     barcodeType 为 BarcodeType.CUSTOM 时,必须指定该值
 */
public void setType(BarcodeType barcodeType, Map<DecodeHintType, Object> hintMap)

/**
 * 设置扫描二维码的代理
 *
 * @param delegate 扫描二维码的代理
 */
public void setDelegate(Delegate delegate)

/**
 * 显示扫描框
 */
public void showScanRect()

/**
 * 隐藏扫描框
 */
public void hiddenScanRect()

/**
 * 打开后置摄像头开始预览,但是并未开始识别
 */
public void startCamera()

/**
 * 打开指定摄像头开始预览,但是并未开始识别
 *
 * @param cameraFacing  Camera.CameraInfo.CAMERA_FACING_BACK or Camera.CameraInfo.CAMERA_FACING_FRONT
 */
public void startCamera(int cameraFacing)

/**
 * 关闭摄像头预览,并且隐藏扫描框
 */
public void stopCamera()

/**
 * 开始识别
 */
public void startSpot()

/**
 * 停止识别
 */
public void stopSpot()

/**
 * 停止识别,并且隐藏扫描框
 */
public void stopSpotAndHiddenRect()

/**
 * 显示扫描框,并开始识别
 */
public void startSpotAndShowRect()

/**
 * 打开闪光灯
 */
public void openFlashlight()

/**
 * 关闭散光灯
 */
public void closeFlashlight()

/**
 * 解析本地图片二维码。返回二维码图片里的内容 或 null
 *
 * @param picturePath 要解析的二维码图片本地路径
 */
public void decodeQRCode(String picturePath)

/**
 * 解析 Bitmap 二维码。返回二维码图片里的内容 或 null
 *
 * @param bitmap 要解析的二维码图片
 */
public void decodeQRCode(Bitmap bitmap)

QRCodeView.Delegate 扫描二维码的代理

/**
 * 处理扫描结果
 *
 * @param result 摄像头扫码时只要回调了该方法 result 就一定有值,不会为 null。解析本地图片或 Bitmap 时 result 可能为 null
 */
void onScanQRCodeSuccess(String result)

/**
 * 摄像头环境亮度发生变化
 *
 * @param isDark 是否变暗
 */
void onCameraAmbientBrightnessChanged(boolean isDark);

/**
 * 处理打开相机出错
 */
void onScanQRCodeOpenCameraError()

QRCodeEncoder 创建二维码图片。几个重载方法都是耗时操作,请在子线程中调用。

/**
 * 同步创建黑色前景色、白色背景色的二维码图片。该方法是耗时操作,请在子线程中调用。
 *
 * @param content 要生成的二维码图片内容
 * @param size    图片宽高,单位为px
 */
public static Bitmap syncEncodeQRCode(String content, int size)

/**
 * 同步创建指定前景色、白色背景色的二维码图片。该方法是耗时操作,请在子线程中调用。
 *
 * @param content         要生成的二维码图片内容
 * @param size            图片宽高,单位为px
 * @param foregroundColor 二维码图片的前景色
 */
public static Bitmap syncEncodeQRCode(String content, int size, int foregroundColor)

/**
 * 同步创建指定前景色、白色背景色、带logo的二维码图片。该方法是耗时操作,请在子线程中调用。
 *
 * @param content         要生成的二维码图片内容
 * @param size            图片宽高,单位为px
 * @param foregroundColor 二维码图片的前景色
 * @param logo            二维码图片的logo
 */
public static Bitmap syncEncodeQRCode(String content, int size, int foregroundColor, Bitmap logo)

/**
 * 同步创建指定前景色、指定背景色、带logo的二维码图片。该方法是耗时操作,请在子线程中调用。
 *
 * @param content         要生成的二维码图片内容
 * @param size            图片宽高,单位为px
 * @param foregroundColor 二维码图片的前景色
 * @param backgroundColor 二维码图片的背景色
 * @param logo            二维码图片的logo
 */
public static Bitmap syncEncodeQRCode(String content, int size, int foregroundColor, int backgroundColor, Bitmap logo)

/**
 * 同步创建条形码图片
 *
 * @param content  要生成条形码包含的内容
 * @param width    条形码的宽度,单位px
 * @param height   条形码的高度,单位px
 * @param textSize 字体大小,单位px,如果等于0则不在底部绘制文字
 */
public static Bitmap syncEncodeBarcode(String content, int width, int height, int textSize)

详细用法请查看ZBarDemo ??

详细用法请查看ZXingDemo 🐾

关于我

个人主页 邮箱 BGA 系列开源库 QQ 群 GitHub 喵(专注于 GitHub 等一切与程序员有关的内容)
bingoogolapple.cn [email protected] BGA_CODE_CLUB GitHub喵

打赏支持

如果您觉得 BGA 系列开源库帮你节省了大量的开发时间,请扫描下方的二维码随意打赏,要是能打赏个 10.24 🐵 就太 👍 了。您的支持将鼓励我继续创作:octocat:

如果您目前正打算购买通往墙外的梯子,可以使用我的邀请码「YFQ9Q3B」购买 Lantern,双方都赠送三个月的专业版使用时间 🍻

License

Copyright (C) 2012 The Android Open Source Project
Copyright 2014 bingoogolapple

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

   http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
Comments
  • 为什么第一次打开无法正确扫描???

    为什么第一次打开无法正确扫描???

    在我第一次打开二维码扫描页面后,相机和文件管理器的权限已获取到之后,我开始调用 mQrcodeView.startCamera(); mQrcodeView.startSpotAndShowRect(); 这两个方法,然后屏幕就似黑非黑的在那,具体看下图效果: 微信截图_20190423145302

    然后我查看后台日志,发现几行红色的,看下图: TIM截图20190423144536

    之后把扫码页面关掉再进来,就一切正常了。 我不知道这个究竟是怎么回事,求解答。

    opened by Hiboboo 13
  • 在申请权限后,可以预览,但是无法识别

    在申请权限后,可以预览,但是无法识别

    ver:1.3.6 手机型号:ALL models 在扫码界面第一次申请权限后,可以预览,但是无法识别,没有错误日志。后面重新进就可以了。 代码如下,在onStart中申请权限,在onPermissionsGranted回调中开启预览和识别:

    @Override protected void onStart() { super.onStart(); requestCodeQRCodePermissions(); }

    @AfterPermissionGranted(REQUEST_CODE_QRCODE_PERMISSIONS) private void requestCodeQRCodePermissions() { String[] perms = {Manifest.permission.CAMERA, Manifest.permission.READ_EXTERNAL_STORAGE}; if (!EasyPermissions.hasPermissions(this, perms)) { EasyPermissions.requestPermissions(this, "扫描二维码需要打开相机权限", REQUEST_CODE_QRCODE_PERMISSIONS, perms); } else { zxingview.startCamera(); // 打开后置摄像头开始预览,但是并未开始识别 zxingview.startSpotAndShowRect(); // 显示扫描框,并开始识别 } }

    @Override public void onPermissionsGranted(int requestCode, List perms) { zxingview.startCamera(); // 打开后置摄像头开始预览,但是并未开始识别 zxingview.startSpotAndShowRect(); // 显示扫描框,并开始识别 }

    opened by StaticCoder 12
  • MultiDex file defined error Android Plugin version 3.0.1

    MultiDex file defined error Android Plugin version 3.0.1

    I am facing the following error during app build :

    Error:Error converting bytecode to dex:
    Cause: com.android.dex.DexException: Multiple dex files define Lnet/sourceforge/zbar/SymbolSet;
    Error:com.android.dex.DexException: Multiple dex files define Lnet/sourceforge/zbar/SymbolSet;
    Error:	at com.android.dx.merge.DexMerger.readSortableTypes(DexMerger.java:661)
    Error:	at com.android.dx.merge.DexMerger.getSortedTypes(DexMerger.java:616)
    Error:	at com.android.dx.merge.DexMerger.mergeClassDefs(DexMerger.java:598)
    Error:	at com.android.dx.merge.DexMerger.mergeDexes(DexMerger.java:171)
    Error:	at com.android.dx.merge.DexMerger.merge(DexMerger.java:198)
    Error:	at com.android.builder.dexing.DexArchiveMergerCallable.call(DexArchiveMergerCallable.java:61)
    Error:	at com.android.builder.dexing.DexArchiveMergerCallable.call(DexArchiveMergerCallable.java:36)
    Error:	at java.util.concurrent.ForkJoinTask$AdaptedCallable.exec(ForkJoinTask.java:1424)
    Error:	at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:289)
    Error:	at java.util.concurrent.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1056)
    Error:	at java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1692)
    Error:	at java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:157)
    Error:Execution failed for task ':project_name:transformDexArchiveWithDexMergerForDebug'.
    > com.android.build.api.transform.TransformException: com.android.dex.DexException: Multiple dex files define Lnet/sourceforge/zbar/SymbolSet;
    

    Build.gradle(project) contain following :

    buildscript {
        repositories {
            jcenter()
            google()
        }
        dependencies {
            classpath 'com.android.tools.build:gradle:3.0.1'
            classpath 'com.getkeepsafe.dexcount:dexcount-gradle-plugin:0.8.2'
            classpath 'com.google.gms:google-services:3.1.1'
        }
    }
    allprojects {
        repositories {
            jcenter()
            google()
            maven {
                url "https://maven.google.com"
            }
        }
    }
    

    Build.gradle(module: project) contain following :

    apply plugin: 'com.android.application'
    apply plugin: 'com.getkeepsafe.dexcount'
    android {
        compileSdkVersion 27
        buildToolsVersion '26.0.2'
        defaultConfig {
            applicationId “<—appID—>”
            minSdkVersion 16
            targetSdkVersion 27
            versionCode 1
            versionName "1.16.1"
            multiDexEnabled true
        }
        dexOptions {
            preDexLibraries = false
        }
        packagingOptions {
            exclude 'META-INF/DEPENDENCIES.txt'
            exclude 'META-INF/DEPENDENCIES'
            exclude 'META-INF/dependencies.txt'
            exclude 'META-INF/LICENSE.txt'
            exclude 'META-INF/LICENSE'
            exclude 'META-INF/license.txt'
            exclude 'META-INF/LGPL2.1'
            exclude 'META-INF/NOTICE.txt'
            exclude 'META-INF/NOTICE'
            exclude 'META-INF/notice.txt'
        }
        buildTypes {
            release {
                minifyEnabled false
                proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
            }
            debug {
                debuggable true
                minifyEnabled false
                proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
            }
        }
    }
    
    repositories {
        mavenCentral()
        maven { url "https://jitpack.io" }
        maven { url "https://oss.sonatype.org/content/repositories/snapshots/" }
    }
    dependencies {
        def supportLibrariesVersion = '27.0.2'
        compile fileTree(dir: 'libs', include: ['*.jar'])
        compile fileTree(include: ['*.jar'], dir: 'libs')
    
    //    compile 'cn.bingoogolapple:zbar:1.0.1'
    
        compile 'cn.bingoogolapple:bga-qrcodecore:1.1.9@aar'
        compile 'cn.bingoogolapple:bga-zbar:1.1.9@aar'
    
        compile "com.android.support:design:$supportLibrariesVersion"
    
        compile 'com.google.firebase:firebase-messaging:10.2.1'
        compile 'com.android.support:multidex:1.0.2'
        compile 'it.sephiroth.android.library.imagezoom:imagezoom:+'
        compile "com.android.support:support-v4:$supportLibrariesVersion"
        compile "com.android.support:appcompat-v7:$supportLibrariesVersion"
        compile 'com.google.code.gson:gson:2.4'
        compile 'joda-time:joda-time:2.2'
        compile 'com.michaelpardo:activeandroid:3.1.0-SNAPSHOT'
        compile("com.github.hotchemi:permissionsdispatcher:3.0.1") {
            // if you don't use android.app.Fragment you can exclude support for them
    	//        exclude module: "support-v13"
        }
        annotationProcessor "com.github.hotchemi:permissionsdispatcher-processor:3.0.1"
    }
    apply plugin: 'com.google.gms.google-services'
    

    Android studio version - 3.0.1 Android plugin version - 3.0.1 gradle version - 4.1

    opened by poojajangid25 12
  • 实测三星s6用zxing的demo扫不出来

    实测三星s6用zxing的demo扫不出来

    zxing的在nexus6,小米,华为,魅族,努比亚都没有问题的,三星一款低端的(忘了型号)也可以,但是三星s6就不行,之前用的另一个作者的zxing修改库https://github.com/yipianfengye/android-zxingLibrary 这个库用三星s6扫描是没有问题的,另外作者您的zbar可以扫描成功,所以应该是作者您修改的zxing有些问题。

    opened by Wade-Cai 10
  • 关于华为手机二维码识别的问题

    关于华为手机二维码识别的问题

    测试结果 华为mate 10 扫码成功未发现问题 华为荣耀8 手机平度亮度低的情况下未扫描到二维码, 调高屏幕亮度后 水平位置且适当距离40公分左右扫码成功,倾斜角度依然识别不出来二维码.

    猜想: 1:二维码识别的时候自动对焦功能是否在荣耀手机上起作用 2;二维码识别是否和屏幕亮度有关 3:手机本身的防抖功能是否会影响二维码识别的效果.

    opened by wukuiqing49 5
  • 经常依赖找不到这个

    经常依赖找不到这个

    org.gradle.internal.resource.transport.http.HttpErrorStatusCodeException: Could not HEAD 'https://jitpack.io/cn/bingoogolapple/bga-qrcode-zxing/1.2.5/bga-qrcode-zxing-1.2.5.pom'. Received status code 401 from server: Unauthorized

    opened by xionger0520 5
  • zbardemo与zxingdemo有什么区别

    zbardemo与zxingdemo有什么区别

    为什么我用zxingdemo有的条形码就扫不出来,zbardemo,就非常快的出来,zbardemo好像比zxingdemo好很多,他们有什么本质的区别吗, compile 'cn.bingoogolapple:bga-qrcodecore:1.1.9@aar' compile 'cn.bingoogolapple:bga-zbar:1.1.9@aar'

    跟引类库有什么区别,样式我想改下,只能引用类库了 jniLibs里面的东西必须引吗,求大神解答下,谢谢,已经打赏

    opened by liguangze 5
  • Could not get resource 1.3.7

    Could not get resource 1.3.7

    @bingoogolapple 你好。org.gradle.api.resources.ResourceException: Could not get resource 'https://jitpack.io/cn/bingoogolapple/bga-qrcode-zxing/1.3.7/bga-qrcode-zxing-1.3.7.pom',请问知道是什么问题吗?谢谢。

    opened by Deaful 2
Releases(v1.0.8)
Owner
王浩
自助者天助之,学习ing
王浩
simple qrcode scan application

qrcode simple qrcode scan application

Geovani Amaral 6 Oct 5, 2022
QRCode Generator implemented in pure Kotlin

Creating QRCodes in Kotlin and Java is harder than it should be. QRCode-Kotlin aims to bring a simple, straightforward and customizable way to create QRCodes into the JVM domain, especially in the backend.

Rafael Lins 42 Dec 28, 2022
Generate Qr Code using ZXING with a logo if needed

QrGeneratorWithLogo Generate Qr Code using ZXING with a logo if needed Download the Helper file and use it 1- add zxing lib into your project implem

null 0 Mar 14, 2022
Android library for creating QR-codes with logo, custom pixel/eyes shapes, background image. Powered by ZXing.

custom-qr-generator Android library for creating QR-codes with logo, custom pixel/eyes shapes, background image. Powerd by ZXing. Installation To get

Alexander Zhirkevich 34 Dec 17, 2022
Android fillable progress view working with SVG paths. This is a nice option too if you want to create an interesting branding logo for your app. Based on the iOS project: https://github.com/poolqf/FillableLoaders

Android FillableLoaders Android Open Source library providing an interesting fillable progress view working with SVG paths. This is a nice option too

Jorge Castillo 2k Jan 1, 2023
a simple QRCode generation api for java built on top ZXING

QRGen: a simple QRCode generation api for java built on top ZXING Please consider sponsoring the work on QRGen Dependencies: ZXING: http://code.google

Ken Gullaksen 1.4k Dec 31, 2022
simple qrcode scan application

qrcode simple qrcode scan application

Geovani Amaral 6 Oct 5, 2022
QRCode Generator implemented in pure Kotlin

Creating QRCodes in Kotlin and Java is harder than it should be. QRCode-Kotlin aims to bring a simple, straightforward and customizable way to create QRCodes into the JVM domain, especially in the backend.

Rafael Lins 42 Dec 28, 2022
Generate Qr Code using ZXING with a logo if needed

QrGeneratorWithLogo Generate Qr Code using ZXING with a logo if needed Download the Helper file and use it 1- add zxing lib into your project implem

null 0 Mar 14, 2022
Android library for creating QR-codes with logo, custom pixel/eyes shapes, background image. Powered by ZXing.

custom-qr-generator Android library for creating QR-codes with logo, custom pixel/eyes shapes, background image. Powerd by ZXing. Installation To get

Alexander Zhirkevich 34 Dec 17, 2022