[zxing-系列1]|[zxing-系列1] 简单粗暴 手把手教你 集成 zxing3.3.3

前言:
之前一直对zxing的集成都是迷迷糊糊,而且项目都很少用到,但最近项目要用到扫码功能,为此只能狠心花了些时间来研究zxing的集成、简化以及运作流程。这篇只介绍zxing的demo的集成,而且很简单很粗暴。 正式开始
1.新建项目(这部分我就不多说) 2.下载zxing核心包

  • zxing - github
  • 本次集成只使用了android目录和android-core目录 [zxing-系列1]|[zxing-系列1] 简单粗暴 手把手教你 集成 zxing3.3.3
    文章图片
    zxing核心包 [zxing-系列1]|[zxing-系列1] 简单粗暴 手把手教你 集成 zxing3.3.3
    文章图片
    zxing核心包目录
3.加入zxing相关依赖:implementation 'com.google.zxing:core:3.3.3' 4.拷贝res资源文件 1)拷贝xml目录相关文件,当然原来项目已存在相关文件的,就需要拷贝代码。 2)拷贝values目录相关文件,当然原来项目已有的文件,请打开zxing对应的文件来拷贝代码,而不是覆盖文件!还有strings.xml要拷贝“values-zh-rCN”目录里面的,那个才是简体中文。 [zxing-系列1]|[zxing-系列1] 简单粗暴 手把手教你 集成 zxing3.3.3
文章图片
values目录 [zxing-系列1]|[zxing-系列1] 简单粗暴 手把手教你 集成 zxing3.3.3
文章图片
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就可以。 [zxing-系列1]|[zxing-系列1] 简单粗暴 手把手教你 集成 zxing3.3.3
文章图片
app_name重复问题 5.拷贝Java类文件 1)简单粗暴,直接把android/src/com目录下的google目录整个拷贝到自己项目对应的com目录下 [zxing-系列1]|[zxing-系列1] 简单粗暴 手把手教你 集成 zxing3.3.3
文章图片
Java类文件 [zxing-系列1]|[zxing-系列1] 简单粗暴 手把手教你 集成 zxing3.3.3
文章图片
自己项目的com目录 2)然后我们Rebuild Project一下,然后发现有一堆错误,但是,不要慌,这些都是简单的错误,一般都是目录不对,如R文件目录不对等问题。 [zxing-系列1]|[zxing-系列1] 简单粗暴 手把手教你 集成 zxing3.3.3
文章图片
报错 3)修复报错问题
  • 首先是R文件目录问题,我们要全局修改,将zxing原来的R文件路径改成我们自己项目对应的路径就可以。快捷键是Ctrl + Shift + R。注意:之后重新Rebuild Project还会出现R文件不存在问题,是因为部分文件的import被自动删了导致全局替换不能替换到,所以现在我们就要拷贝上去就可以。 [zxing-系列1]|[zxing-系列1] 简单粗暴 手把手教你 集成 zxing3.3.3
    文章图片
    R文件报错 [zxing-系列1]|[zxing-系列1] 简单粗暴 手把手教你 集成 zxing3.3.3
    文章图片
    全局更改R文件路径
  • 然后是CameraConfigurationUtils类不存在问题,这个文件在,zxing-zxing-3.3.3\android-core\src\main\java\com\google\zxing\client\android\camera目录里面。我们就拷贝到zxing的camera目录里吧,方便以后维护。 [zxing-系列1]|[zxing-系列1] 简单粗暴 手把手教你 集成 zxing3.3.3
    文章图片
    zxing的camera目录
  • 接着就是AndroidManifest.xml里面的内容,我们对应的拷贝代码就可以。当我们拷贝完Activity后发现Activity的名称报红,不慌,其实是因为Activity的路径改了 [zxing-系列1]|[zxing-系列1] 简单粗暴 手把手教你 集成 zxing3.3.3
    文章图片
    权限部分的代码 [zxing-系列1]|[zxing-系列1] 简单粗暴 手把手教你 集成 zxing3.3.3
    文章图片
    Activity对应的代码 [zxing-系列1]|[zxing-系列1] 简单粗暴 手把手教你 集成 zxing3.3.3
    文章图片
    CaptureActivity包名路径 [zxing-系列1]|[zxing-系列1] 简单粗暴 手把手教你 集成 zxing3.3.3
    文章图片
    完整包名路径的Activity
4)更改启动页为CaptureActivity,这个不多说基础知识。 6.运行App,由于我跑在8.0的机器上,而且没有做动态获取权限,所以要app正常运行,我们就将就一下去应用管理器开启对应的权限。 [zxing-系列1]|[zxing-系列1] 简单粗暴 手把手教你 集成 zxing3.3.3
文章图片
zxing demo 界面 [zxing-系列1]|[zxing-系列1] 简单粗暴 手把手教你 集成 zxing3.3.3
文章图片
zxing demo 界面 总结:
到这里,我们已经集成了zxing提供的扫码demo,虽然是横屏的,虽然界面不是我们想要的,但是扫码功能是可用的,之后我会在写一篇简化zxing的文章,介绍一下如何更改zxing界面和减去其他无用功能剩二维码功能。下面给出我的demo地址把:
  • 本文章对应的zxing demo
  • 基于zxing删减到只有二维码功能的demo

    推荐阅读