伙伴云客服论坛»论坛 S区 S零代码 查看内容

0 评论

0 收藏

分享

android扫码 超简单零代码

android扫码 超简单零代码

    小序
      背景介绍前期准备zxing和华为扫码效劳对比开端搬运
        结语




小序

这是一篇纯新手教学,自己之前没有任何安卓开发经历(为难),本文也不涉及任何代码就可以使用一个扫码demo,华为scankit真是新手的福音……
背景介绍

最近被导师要求做一个购物收费的app,毕设好难呀~ 网上找了半天全是zxing,但是扫码效果真是有点小垃圾,无奈只能继续寻寻觅觅……突然发现网上有篇讲集成hms的文章,略微借鉴了一下。由于在下是安卓小白,全篇没有一点代码,只是搬运一下华为网站的codelab,抱着忐忑的心情,竟然可以一键运行……(^-^)V 开森~
前期准备

小女子用的是android studio
用过android studio的人直接忽略,没用过的可以参考在https://developer.android.com/studio这里下载,相关的装置流程可以参考https://www.cnblogs.com/xiadewang/p/7820377.html。
zxing和华为扫码效劳对比

回到我们的主题上—扫码,我在选择扫码库的时候,首先接触到的是google的开源库ZXing,也上手停止了实操,可以说集成过程还是蛮简单的,但是针对我自身的业务场景和需求,识别率上还是不够达标,自动对焦才干也不具备,不可以到达即开即用的要求,所以我就继续停止了调研,就理解到了华为的一个扫码效劳,依照网站上的一些指引,20分钟就搞出来一个小demo,然后就真香,可以自定义UI界面,还可以自动对焦,对于一些有反光,有污损,形变,超远间隔的场景都能很好地识别。特来分享,码字不易哦。最主要的是华为扫码效劳是安卓全机型覆盖,太棒惹!~
开端搬运

当前华为开发者网站上有一个叫做codelab的东西,链接我在下面分享了,亲测可用哦https://developer.huawei.com/consumer/cn/codelab/ScanKit-DefaultView/index.html#0
    进来以后页面是这样的,一堆废话,密密麻麻的,可以略过

    android扫码 超简单零代码-1.jpg

    第二步主要说了使用的工具和版本,注意,android4.4,新下Android studio的朋友们可以略过,小哥哥们可能需要更新一下
android扫码 超简单零代码-2.jpg


3.直接下载sample code,talk is cheap, show me the code。

android扫码 超简单零代码-3.png


4.翻开android studio,在file下拉菜单中找到open,选择刚刚解压好的文件目录,在我这里是D:\codelab\Codelab_ScanKit_DefaultView_Full_Demo。然后跳出来这个玩意,直接ok过掉

android扫码 超简单零代码-4.jpg


    在左侧的菜单栏中假如上面是一个小机器人,可以下拉选择一下为project为了坚持以下统一,假如有经历的可以忽略这步。

    android扫码 超简单零代码-5.jpg

6.这里在app这个目录下会发现有个叫agcconnect.json的奇怪文件,这个文件是在华为官网上注册自己的账号以后生成的,这个文件主要是为了起到云端校验的功能,因为扫码是纯端侧的效劳,因而这里只集成扫码效劳的话可以直接删除,不影响使用。

android扫码 超简单零代码-6.jpg


7.细细研究了一下文档发现scankit提供了两种sdk,一种是大的3.3mb,一种是小的0.7mb,大的小的在华为手机上效果一样,但是大的在非华为手机上也有很好的效果。所以果断选择大的sdk。
首先需要进入app目录下的build.gradle。

android扫码 超简单零代码-7.jpg


然后找到最后,将scan交换成scanplus。(这个命名是学苹果吗)

android扫码 超简单零代码-8.png


8.点击下图中标红的图标(云下有个箭头),静静等待一杯咖啡的时间,,发现底下全部都是绿勾以后就大功告成了

android扫码 超简单零代码-9.jpg


9.我这里准备了一个华为手机,迫不及待地运行了一下

android扫码 超简单零代码-10.jpg


10.运行之后效果很棒,无论拉近拉远,反光,模糊,污损效果下都很出色,而且不再需要自己写zxing操蛋的自动缩放了。完美!
android扫码 超简单零代码-11.png


细细研究了一下代码,发现代码很简单,点击进入mainactivity之后就能看清楚这个app在干嘛了。
android扫码 超简单零代码-12.jpg


品了一下代码发现所有的东西都给封装好了,在回调函数中返回了识别的结果。略微改吧一下就添加到我的工程里面了,大功告成,美滋滋。
  1. if(requestCode ==REQUEST_CODE_SCAN){
  2.     Object obj = data.getParcelableExtra(ScanUtil.RESULT);if(obj instanceofHmsScan){if(!TextUtils.isEmpty(((HmsScan) obj).getOriginalValue())){
  3.             Toast.makeText(this,((HmsScan) obj).getOriginalValue(), Toast.LENGTH_SHORT).show();}return;}}
复制代码
结语

做完集成之后又回去看了一下开发者文档,内容很多,发现scankit的才干比想象中的还要强大,提供了默认扫码形式,自定义形式,多码识别形式,还可以生成码,详细的我会在接下来的文档中继续po出。感激小哥哥们的关注。

回复

举报 使用道具

相关帖子
全部回复
暂无回帖,快来参与回复吧
本版积分规则 高级模式
B Color Image Link Quote Code Smilies

梁梁
注册会员
主题 18
回复 15
粉丝 0
|网站地图
快速回复 返回顶部 返回列表