1.用一个第三方二维码扫描库:yuzhiqiang1993/zxing
2.直接使用GitHub上的开源项目zxing即可
https://github.com/zxing/zxing
把GitHub上的开源项目引入到我们的项目中来。
导入工程我们主要分为如下几个步骤:
1.创建一个新的Project,命名为QRReader(这一步不是必须的,可以根据你的项目需求来)
2.下载ZXing项目
3.在新的Project中创建一个新的Module,在创建的过程中选择Android Library,如下图:
4.在文件夹中打开我们的项目,找到第三步创建的Library,将第二步下载的ZXing项目中的android和android-core两个文件夹合并到library中,如下图:
其中android文件夹中主要合并如下几个项目文件:
合并完成之后再将我们之前下载的核心jar包夜拷贝到我们library的libs文件夹中,然后我们再来看看我们的library:
5.在我们的项目中引用这个module,然后对项目进行编译。
6.编译之后项目会报错,这个时候需要我们将library中所有的switch语句改为if…else if …else if的形式。
7.完成第6步之后还是会报错,这个时候需要我们将library的清单文件中Application节点的icon属性删除,再编译就没有任何问题了。
OK,经过上面7个步骤这个开源项目就被我们成功的引入到我们自己的项目中了,在这个开源项目中有一个CaptureActivity,这个Activity专门用来扫描二维码,所以我们只需要在自己的项目中直接来启动这个Activity就可以了,另外,由于默认情况下CaptureActivity是启动项,所以我们要在library的清单文件中删除CaptureActivity作为启动项的配置。
OK,现在我的项目中有一个按钮,点击这个按钮我就可以扫描二维码,代码如下:
public void go(View view) {
startActivity(new Intent(this, CaptureActivity.class));
}
OK,至此,一个简陋的二维码扫描就完成了,大家有木有觉得很麻烦啊?麻烦也就这一次,因为我把ZXing当作library使用的时候系统会自动生成一个aar包,有了这个aar包,以后的开发就会变得非常简单了,那么这个aar包在哪里呢?如下图:
对应的文件夹路径大家自己去找,有了这个aar包之后,如果我再需要使用二维码扫描功能的时候就直接引入就好了
参考:
https://blog.csdn.net/u012702547/article/details/51501350
https://blog.csdn.net/yuzhiqiang_1993/article/details/78292004