• 程序猿媛 九:Adroid zxing 二维码3.1集成(源码无删减)


    Adroid zxing 二维码3.1集成

    声明:博文为原创,文章内容为,效果展示,思路阐述,及代码片段。

    转载请保留原文出处http://my.oschina.net/gluoyer/blog”,谢谢!

    引子:最近项目中用到二维码,找到了最新的3.1版本 zxing-GitHub,进行了集成、调整,同时笔记以备忘。

    展示应用下载:程序猿媛2.1

    求点击:博客访问9.9k+了,距离初步期望1w很近了。   一个多月的封闭开发也终于结束了,成都也雨后天晴出太阳。

        特此版本去掉了下载时需要积分的情况,网站之外的tx们,方便的话,随手点一下花佟林雨月

    实现效果:

        360手机助手截图0918_23_34_01

        相关博文很多,生成jar包,简化代码。度娘一下就有了。 感觉需要必要笔记,是发现:

    • 以1.6版本居多,据说3.1对4x支持更好些。
    • 简化后,对扩展比较麻烦。
    • 修改竖屏后,修改的地方找起来比较麻烦。

    未使用简化版本,直接引用zxing源码

        由于网上的简化版本,对功能扩展比较麻烦,因此,直接将zxing放到了工程目录下的extras/zxing下,只在项目中加入了目录,复制、修改了必要的文件,其他均引用源码文件

    zxing

    修改竖屏后所需调整

        集成过程中,发现网文提到的修改竖屏,还是有点分散的,找起还是有点麻烦。故在CameraConfigurationManager加了一个标识方法:isPortrait(),返回true

        例如,DecodeHandler.javadecode方法中需要调整,如下条件实现:

    QQ截图20140919112731

    其他需要修改的地方,也如此使用isPortrait()条件,所以,只需要看下isPortrait()Call Hierarchy,就比较清晰得看到所需修改。

    同时,返回false,就可以恢复到源码处理。

    绘制扫描框

        根据项目需求,需要重新绘制扫描框框,主要在ViewfinderView.java实现绘制方法,同样条件控制,drawScanFrame局部如下:

    QQ截图20140919113302

    灯光的设置

        根据源码中,音量键对灯光的开关,添加了新接口,支持标题右上角对灯光的控制:

    CameraManager.java中:

    QQ截图20140919113747

    以及CameraConfigurationManager.java中:

    QQ截图20140919113844

    在Activity中进行必要的调用处理即可。

    QrCaptureActivity 中扫描成功的处理

       根据实际需求,扫描成功后,跳转并将数据传递给新页面,因此,只在handleDecode方法中,

    QQ截图20140919114025

        在注释信息下面,将新页面的跳转就可以了。  

    如果有其他需求,也在这里自行处理,应该就没有问题了。

    另外,运行zxing源码,可以看到它有个设置页面,也可以根据需求,集成该设置页面,或修改R.xml.preferences中的配置即可。

    全文完,希望对您有帮助,谢谢!

    展示应用下载:程序猿媛2.1

    转载请保留原文出处“http://my.oschina.net/gluoyer/blog”,谢谢!

  • 相关阅读:
    Istio安装配置及使用
    Istio介绍
    Rancher管理k8s集群
    EFK部署
    常见日志收集方案及相关组件
    Prometheus Pushgateway
    Prometheus监控拓展
    Prometheus PromQL语法
    开始新工作了
    SpringBlade 新系统 运行
  • 原文地址:https://www.cnblogs.com/SZ2015/p/4750779.html
Copyright © 2020-2023  润新知