前言:
之前一直对zxing的集成都是迷迷糊糊,而且项目都很少用到,但最近项目要用到扫码功能,为此只能狠心花了些时间来研究zxing的集成、简化以及运作流程。这篇只介绍zxing的demo的集成,而且很简单很粗暴。
正式开始
1.新建项目(这部分我就不多说)
2.下载zxing核心包
-
zxing - github
-
本次集成只使用了android目录和android-core目录 zxing核心包 zxing核心包目录
3.加入zxing相关依赖:implementation 'com.google.zxing:core:3.3.3'
4.拷贝res资源文件
1)拷贝xml目录相关文件,当然原来项目已存在相关文件的,就需要拷贝代码。
2)拷贝values目录相关文件,当然原来项目已有的文件,请打开zxing对应的文件来拷贝代码,而不是覆盖文件!还有strings.xml要拷贝“values-zh-rCN”目录里面的,那个才是简体中文。 values目录 values-zh-rCN目录
3)拷贝raw目录相关文件,当然原来项目已存在相关文件的,就需要拷贝代码。。
4)拷贝menu目录相关文件,同上。
5)拷贝layout目录相关文件,因为只考虑竖屏,所以只拷贝layout相关文件就可以。
6)拷贝drawable目录和drawable-xxhdpi目录即可,其他可不考虑。
7)到此为止资源文件已拷贝完,我们Rebuild Project看下项目情况。然后发现报错了,哦!原来是在拷贝strings代码时多拷贝了一个app_name,导致与原来项目的app_name冲突,现在只要删除zxing拷贝过来的app_name就可以。 app_name重复问题
5.拷贝Java类文件
1)简单粗暴,直接把android/src/com目录下的google目录整个拷贝到自己项目对应的com目录下 Java类文件 自己项目的com目录
2)然后我们Rebuild Project一下,然后发现有一堆错误,但是,不要慌,这些都是简单的错误,一般都是目录不对,如R文件目录不对等问题。 报错
3)修复报错问题
-
首先是R文件目录问题,我们要全局修改,讲zxing原来的R文件路径改成我们自己项目对应的路径就可以。快捷键是Ctrl + Shift + R。注意:之后重新Rebuild Project还会出现R文件不存在问题,是因为部分文件的import被自动删了导致全局替换不能替换到,所以现在我们就要拷贝上去就可以。 R文件报错 全局更改R文件路径
-
然后是CameraConfigurationUtils类不存在问题,这个文件在,zxing-zxing-3.3.3\android-core\src\main\java\com\google\zxing\client\android\camera目录里面。我们就拷贝到zxing的camera目录里吧,方便以后维护。 zxing的camera目录
-
接着就是AndroidManifest.xml里面的内容,我们对应的拷贝代码就可以。当我们拷贝玩Activity后发现Activity两名称报红,不慌,其实是因为Activity的路径改了 权限部分的代码 Activity对应的代码 CaptureActivity包名路径 完整包名路径的Activity
网友评论