Android二维码

作者: aqianglala | 来源:发表于2017-12-27 18:37 被阅读214次

    简要说明

    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扫描二维码和识别图片二维码及其优化策略

    相关文章

      网友评论

        本文标题:Android二维码

        本文链接:https://www.haomeiwen.com/subject/iogugxtx.html