Android二维码

简要说明

android有四款扫描器,ZxingZbarBarcode4JOkapiBarcode ,前二者应用较广泛。

zxing项目是谷歌推出的用来识别多种格式条形码的开源项目,项目地址为
https://github.com/zxing/zxing,zxing有多个人在维护,覆盖主流编程语言,也是目前还在维护的较受欢迎的二维码扫描开源项目之一。zbar则是主要用C来写的,速度极快,推出了iPhone的SDK和Android的相关调用方法(JNI),但这个项目已经有几年不维护了,目前并没有维护下去的意思,见https://github.com/ZBar/ZBar

运行Zxing

打开zxing的github页面你会发现项目的目录结构比较复杂,要运行官方的demo只需要core、android、android-core三个模块即可,其中core、android-core为核心,android为官方提供的demo,我们只需把android包作为主模块,并且依赖core和android-core模块即可。具体可参考以下这篇文章:
Google ZXing系列讲解(一)——导入AS

切换竖屏导致预览拉伸变形

运行了官方demo后你会发现,demo是以横屏的方式扫描的,而市场上绝大部分应用都是竖屏扫描的,于是我们来到manifest中修改了屏幕方向,发现确实是竖屏了,框也从长方形变成正方形了,但是画面中的图像竟被压窄了,这可不行,我们得处理,处理方式可以参考以下这篇文章:
完美解决Android使用Zxing扫描二维码改成竖屏后,后面的预览画面出现了拉伸,扭曲的情况

简化代码

这下子终于可以用了,但是这里的代码很多是我们用不到的,所以我们就要精简代码,这可麻烦了,简化代码不止要花时间看懂代码,还有可能因为修改代码而带来bug,所以网上如果有别人精简好的代码,且star比较多,还是建议用别人的吧,当然愿意折腾的话也可以自己去探索一下。

相册扫码

一般扫码都会提供从相册中选取图片的功能,但是zxing的demo中并没有,而且文档也没看到,好在网上有很多相关的文章,如:
Zxing图片识别 从相册选二维码图片解析总结

相关库推荐

官方:zxing
无相册扫描功能:barcodescannerzxing-android-embedded
有相册扫描功能:yuzhiqiang1993 /zxingmaning0303 /MNZXingCode(个人测试,前者识别速度较快)

优化

在选择库的时候你会发现,不同的库的识别速度是有比较大的差异的,这涉及到扫描精度等性能问题,有兴趣的可以看下以下这篇文章:zxing扫描二维码和识别图片二维码及其优化策略

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 176,279评论 25 709
  • [TOC] 前言 上一篇,扫码的基本功能已经实现,不过还存在一些问题 扫码界面不是我们常见的二维码扫描界面 方法调...
    好多个胖子阅读 17,578评论 4 114
  • Android 扫描器Adnroid开发有四款扫描器,Zxing 、Zbar ,Barcode4J、OkapiBa...
    楷桐阅读 4,678评论 0 5
  • 二维码扫描最近两年简直是风靡移动互联网时代,尤其在国内发展神速。围绕条码扫码功能,首先说说通过本文你可以知道啥。一...
    55book阅读 9,681评论 0 1
  • 今天吃过晚饭,妈妈说要考考我的学习,拿出了一张卷子让我写,我写了很长时间,妈妈说我写的太慢了,而且还做错了很多题,...
    莹宝简书阅读 1,477评论 0 0

友情链接更多精彩内容