详情请看:Android Studio集成Zxing扫一扫

但是,上面那篇博客只有有一个扫一扫功能,而且在低分辨率手机上会出现变形的问题。扫描速度也比较慢,功能不是很全,没有闪光灯,生成二维码,解析二维码图片,解析条码图片等。
这几天抽了点时间,将之前的代码完善了一下,主要是修复了一些bug,增加了解析二维码图片,条码图片,生成二维码图片,闪光灯等。还简化了集成的方式,只需要添加一下依赖就能使用了,具体效果图如下。

有图有真相


1.基本的扫一扫

扫描二维码

从图片可以看到,我扫的二维码还是挺复杂的一个二维码,识别速度还可以。具体使用跟设备的摄像头配置有很大关系。

扫描条码(准确率不太高,后期再想办法优化吧,毕竟扫条码不是太常用)

2.闪光灯(如果设备支持闪光的话,显示闪光灯按钮,否则不会显示)

3.解析二维码图片

4.解析条码图片

5.生成二维码(可以添加logo)

扫描下载APK体验一下

可以先下载APK体验一下:

zxingDemo.apk

或者直接用浏览器扫描下载,不需要积分


使用方法


在使用上比之前版本简化了很多步骤,目前的版本应该足够日常使用了,如果你需要定制界面或者使用其中的某些功能,你可以直接去github下载demo,直接将moudle依赖到你的项目中,然后修改源码即可。觉得还行话记得给个start哦,我会持续进行优化的。

https://github.com/yuzhiqiang1993/zxing

这里我只介绍直接依赖的使用方法。
1.添加依赖

在根build.gradle中添加maven { url 'https://jitpack.io' }

allprojects {repositories {google()jcenter()maven { url 'https://jitpack.io' }}
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

在你的app的build.gradle中添加依赖implementation 'com.github.yuzhiqiang1993:zxing:2.0.0'

dependencies {implementation fileTree(dir: 'libs', include: ['*.jar'])implementation 'com.android.support:appcompat-v7:26.1.0'implementation 'com.android.support:design:26.1.0'implementation 'com.android.support:support-vector-drawable:26.1.0'/*添加依赖*/implementation 'com.github.yuzhiqiang1993:zxing:2.0.0'}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

如果你的gradle版本是2.x的 用compile代替implementation 即可。

2.依赖添加完之后就可以使用了
首先记得申请权限,本来我是把权限给集成到库里的,但是这样的话会导致首次跳转到扫描页面申请权限时会阻塞,直到给权限为止,想了想还是把权限放开,在跳转扫描界面之前自己去处理权限比较好。

下面是需要动态申请的权限

Manifest.permission.CAMERA
Manifest.permission.READ_EXTERNAL_STORAGE
  • 1
  • 2

跳转到扫描界面

如下面代码所示,直接使用intent即可,也可以传一个ZxingConfig类,这个类可以控制是否显示底部的布局,是否播放提示音等,也可不传。

         Intent intent = new Intent(MainActivity.this, CaptureActivity.class);/*ZxingConfig是配置类  可以设置是否显示底部布局,闪光灯,相册,是否播放提示音  震动等动能* 也可以不传这个参数* 不传的话  默认都为默认不震动  其他都为true* *///ZxingConfig config = new ZxingConfig();//config.setShowbottomLayout(true);//底部布局(包括闪光灯和相册)//config.setPlayBeep(true);//是否播放提示音//config.setShake(true);//是否震动//config.setShowAlbum(true);//是否显示相册//config.setShowFlashLight(true);//是否显示闪光灯//intent.putExtra(Constant.INTENT_ZXING_CONFIG, config);startActivityForResult(intent, REQUEST_CODE_SCAN);
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14

在onActivityResult中接收解析的结果

    @Overrideprotected void onActivityResult(int requestCode, int resultCode, Intent data) {super.onActivityResult(requestCode, resultCode, data);// 扫描二维码/条码回传if (requestCode == REQUEST_CODE_SCAN && resultCode == RESULT_OK) {if (data != null) {String content = data.getStringExtra(Constant.CODED_CONTENT);result.setText("扫描结果为:" + content);}}}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

好了,实现一个基本的扫一扫就是如此的简单

生成二维码

如果你有生成二维码的需求,可以直接通过CodeCreator.createQRCode(contentEtString, 400, 400, null);即可。

                try {/** contentEtString:字符串内容* w:图片的宽* h:图片的高* logo:不需要logo的话直接传null* */Bitmap logo = BitmapFactory.decodeResource(getResources(), R.mipmap.ic_launcher);bitmap = CodeCreator.createQRCode(contentEtString, 400, 400, logo);} catch (WriterException e) {e.printStackTrace();}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14

好了,基本就是这些了,上面有github地址,觉得好用的话给个start呦!是在不想使用github的话这里给出源码demo,需要的可以下载

源码版demo

github版的使用demo

github地址

(function () {(function () { ('pre.prettyprint code').each(function () {
var lines = (this).text().split(′\n′).length;var(this).text().split('\n').length; var numbering = $('

  • ').addClass('pre-numbering').hide();
    (this).addClass(′has−numbering′).parent().append((this).addClass('has-numbering').parent().append(numbering);
    for (i = 1; i <= lines; i++) {
    numbering.append(numbering.append(('
  • ').text(i));
    };
    $numbering.fadeIn(1700);
    });
    });

zxing集成到Android Studio中实现二维码扫一扫功能相关推荐

  1. Android Studio 扫描识别二维码(包含闪光灯和本地二维码)、生成二维码、生成带logo的二维码

    一.测试如下: 1.扫描识别二维码,扫描结果多少 2.生成二维码.生成带logo的二维码 二.添加依赖: 1.在Project的build.gradle中添加maven { url 'https:// ...

  2. Android 基于google Zxing实现对手机中的二维码进行扫描

    转载请注明出处:http://blog.csdn.net/xiaanming/article/details/14450809 我之前写了一篇关于google Zxing扫描二维码的文章,效果是仿微信 ...

  3. C#中生成二维码(QR码)与读取二维码内容

    使用开源类库ZXing.dll可以在C#中生成二维码和解析二维码为指定的字符串(含url) 新建windows窗体应用程序QRCodeDemo,.net 4.5,将默认的Form1重命名为FormQu ...

  4. Android开发——Android中的二维码生成与扫描

    0. 前言 今天这篇文章主要描述二维码的生成与扫描,使用目前流行的Zxing,为什么要讲二维码,因为二维码太普遍了,随便一个Android APP都会有二维码扫描.本篇旨在帮助有需求的同学快速完成二维 ...

  5. android 从图片获取二维码

    之前的博客我记得讲过关于扫描二维码的内容,昨天,组长让我不仅可以扫描获取二维码,还可以通过图片获取里面的二维码.比如别人拍了一张二维码的照片,发送给你,app应该可以获取图片的二维码. 自己在网上查了 ...

  6. Android开发_ZXing库二维码应用

    Android二维码扫描应用 ZXing库精简版的下载:http://download.csdn.net/detail/a874508605/8546185 布局文件的编写 <LinearLay ...

  7. Android之条码扫描二维码扫描

    Android之条码扫描二维码扫描 二维码条形码扫描,参考技术网址: 1.Apache License 2.0 开源的 ZXing项目的简化版 http://xinlanzero.iteye.com/ ...

  8. android 解析、生成二维码

    android 解析.生成二维码 (1)ZXing是一个开源Java类库用于解析多种格式的1D/2D条形码.目标是能够对QR编码.Data Matrix.UPC的1D条形码进行解码. 其提供了多种平台 ...

  9. C#_WPF中创建二维码、识别二维码

    C#_WPF中创建二维码.识别二维码 原文: C#_WPF中创建二维码.识别二维码 第三方库: WPFMediaKit.dll (WPFMediaKit摄像头处理) zing.dll NuGet安装这 ...

最新文章

  1. linux 调用栈打印
  2. 设计模式10——flyweight模式
  3. 关于python3的标识符_python3中关于基础语法的详解
  4. ElementUI中el-table添加小计行之后调整在滚动条上方
  5. 手写简版spring --9--对象作用域和FactoryBean
  6. hibernate的二级缓存
  7. 如何配置DDS以使用多个网络接口?How do I configure DDS to work with multiple network interfaces?
  8. Windows驱动—64位驱动测试64位驱动测试签名
  9. SAP License:ERP系统有哪些?
  10. 电脑编程教学_上村CNC电脑锣编程培训按工厂模式整套实训
  11. IntelliJ IDEA设置--类代码模板自定义(注释)
  12. ECO生态币官网blog.sina.com.cn/ecocoin
  13. 用计算机怎么把图片合成,利用电脑自带的将画图软件把两张图片拼成一张
  14. Windows 系统添加 VirtIO 驱动(Windows ISO 安装镜像添加驱动)
  15. 嵌入式常见的面试题汇总
  16. Stardust 案例:制作散景光斑
  17. iphone 热点 android,苹果手机的热点安卓机可以连接吗(图文)
  18. Mac苹果电脑安装虚拟机
  19. 宁德时代阴影下的动力电池生死竞赛
  20. Flex工具下载链接

热门文章

  1. ubuntu18.04 快速搭建 Hyperledger Fabric超级账本框架
  2. 银行卡收单____对账__单边账
  3. 寻找怪数:有一种奇怪的自然数,它的比其本身小的所有因子之和等于它本身,例如:6=1+2+3,其中1、2、3都是6的因子,编程找出整数N之内的所有怪数。
  4. 基于android音乐播放器的设计
  5. 水雨情监测 水库水雨情在线监测
  6. Linux路由器的配置
  7. 云计算赛项-私有云skywalking服务部署与应用
  8. Excel IF 函数怎么用
  9. python学习——HTMLParser
  10. msib450i gaming plus ac 开机vga长亮