美文网首页Android开发经验谈Android技术知识Android开发
[zxing-系列1] 简单粗暴 手把手教你 集成 zxing3

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

作者: ssj64260 | 来源:发表于2018-09-21 18:32 被阅读33次

    前言:
    之前一直对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
    4)更改启动页为CaptureActivity,这个不多说基础知识。

    6.运行App,由于我跑在8.0的机器上,而且没有做动态获取权限,所以要app正常运行,我们就将就一下去应用管理器开启对应的权限。 zxing demo 界面 zxing demo 界面

    总结:
    到这里,我们已经继承了zxing提供的扫码demo,虽然是横屏的,虽然界面不是我们想要的,但是扫码功能是可用的,之后我会在写一篇简化zxing的文章,介绍一下如何更改zxing界面和减去其他无用功能剩二维码功能。下面给出我的demo地址把:

    相关文章

      网友评论

        本文标题:[zxing-系列1] 简单粗暴 手把手教你 集成 zxing3

        本文链接:https://www.haomeiwen.com/subject/tbhznftx.html