Android学习之简单的二维码扫描功能以及回调值

我所做的功能是点击ImageView后进行二维码扫描,并将扫描完后得到的值自动输入到Editview中。在实现的过程中由于对zxing开源库的不熟悉,浪费了很多时间,

在遇到问题的同时也查阅了相关资料,现将自己的开发过程中遇到的问题以及解决方法展示。

在开发的过程中,参考了博客https://www.cnblogs.com/xch-yang/p/9418493.html,特此感谢!

首先引入jar包

这个jar包我是从别人的源码中下载的,当然也可以去github下载整个zxing项目,地址:https://github.com/zxing/zxing

在分支里面选择tag,在这里可以选择最新版本

下载zxing的核心jar包。地址:

http://repo1.maven.org/maven2/com/google/zxing/core/

把zxing中的文件copy到项目中

导入相关的资源

copy res底下的相关资源文件,如下: 

       drawable、drawable-hdpi和layout 

        

       raw文件和values文件 

        

在copy values中的文件时,不要进行覆盖,在原有的文件上进行添加

导入的包的文件逐个打开,将错误进行修改,修改为自己的包

    

capture.xml的ViewfinderView改成自己包名下的

    

最后要在Manifest中添加权限,我这里设置的权限较多,可根据自己的需求修改

最后需要编写逻辑代码

首先是扫码功能:

接下来是值的回调,需要对onActivityResult进行重写。

 

 此时已经基本实现了功能,由于是开源的,所以如果有特殊的需求可以对zxing的文件进行修改。

如果在测试时遇到了Error: Program type already present: com.google.zxing.BarcodeFormat报错,是由于包的导入重复了,

对重复的包进行删除即可,同时别忘了在gradle中删除依赖!

网络的资源是无限的,感谢提供各种疑难问题解答的大佬们!!!

猜你喜欢

转载自www.cnblogs.com/smalllemon/p/10732635.html
今日推荐