目录

  • 小序
  • 背景介绍
  • 前期准备
  • 开始搬运
  • 结语

小序

  这是一篇纯新手教学,本人之前没有任何安卓开发经验(尴尬),本文也不涉及任何代码就可以使用一个扫码demo,华为scankit真是新手的福音……


背景介绍

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


前期准备

  开发工具用的是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

  1. 进来以后页面是这样的,一堆废话,密密麻麻的,可以略过。


  2. 说了使用的工具和版本,注意,android4.4,新下Android studio的朋友们可以略过,小哥哥们可能需要更新一下。

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


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

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


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

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

  首先需要进入app目录下的build.gradle。


  然后找到最后,将scan替换成scanplus。

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

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

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


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


  品了一下代码发现所有的东西都给封装好了,在回调函数中返回了识别的结果。稍微改吧一下就添加到我的工程里面了,大功告成,美滋滋。

if (requestCode == REQUEST_CODE_SCAN) {Object obj = data.getParcelableExtra(ScanUtil.RESULT);if (obj instanceof HmsScan) {if (!TextUtils.isEmpty(((HmsScan) obj).getOriginalValue())) {Toast.makeText(this, ((HmsScan) obj).getOriginalValue(), Toast.LENGTH_SHORT).show();}return;}
}

结语

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


往期链接:Android | 教你如何使用HwCameraKit接入相机人像模式
内容来源:https://developer.huawei.com/consumer/cn/forum/topicview?fid=18&tid=0201211373637380068
原作者:Wisteria

Android | 带你零代码实现安卓扫码功能相关推荐

  1. android 实现扫码功能,Android | 带你零代码实现安卓扫码功能

    小序 这是一篇纯新手教学,本人之前没有任何安卓开发经验(尴尬),本文也不涉及任何代码就可以使用一个扫码demo,华为scankit真是新手的福音-- 背景介绍 最近被导师要求做一个购物收费的app,毕 ...

  2. 安卓使用华为HMS实现扫码功能

    @安卓使用华为HMS实现扫码功能 最近接到了一个项目,要在我们的app上集成扫码登录功能,类似于微信一样,在手机端扫码即可实现电脑端登录. 最开始打算使用谷歌提供的开发包进行开发,但是发现谷歌提供的开 ...

  3. Android 二维码扫码功能实现(Zxing集成,避坑启示)

    这两天想要实现一个能扫码的app,找了一下,发现zxing用的比较多,就在网上找了找怎么用zxing.我主要是按照宇宝守护神的博文"Android 二维码的扫码功能实现(一)"的步 ...

  4. 分享一个小案例,用HMS Scankit做一个安卓扫码购小应用

    前言 随着消费升级,零售业逐渐迈入新的发展阶段,"新零售"现象:消费者在货架前扫描小程序二维码,一边逛一边扫描条形码下单,等选好要买的东西,直接拿出手机,通过"扫码购&q ...

  5. 微信扫码 android sdk,H5中js-sdk扫码功能,Android手机微信中无法调用扫码?

    我的H5对接微信JS-SDK中的扫码功能,发现在Android手机微信中无法调用扫码功能,在苹果手机微信中可以使用. 报如下错误: errMsg:scanQRCode:permissi on deni ...

  6. Android扫码功能--华为统一扫码服务

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言 一.华为统一扫码服务是什么? 二.使用步骤 1.准备工作 2.开启扫码功能 3.自定义扫码页面 4.同时识别多个二维码 ...

  7. Android 基于Zxing的扫码功能实现(二)

    本篇文章已授权微信公众号 guolin_blog (郭霖)独家发布 引言 本篇博文是基于 Android 二维码的扫码功能实现(一) 文章写的,建议阅读这篇文章之前,先看看上篇文章.还有建议阅读本文的 ...

  8. 基于MacOSX平台下的二维码扫码功能

    基于MacOSX平台下的二维码扫码功能 最近项目接受了一个需求,要在macOS的系统上实现一个二维码扫码的功能.通过多方面的学习,最终实现了要求,具体的实现步骤将会在下面展示. 核心功能模块 实现途径 ...

  9. 微信扫一扫的扫码功能是本地实现还是联网实现的?

    微信扫一扫的扫码功能很弱,速度慢,经常有二维码识别不了.Dynamsoft的同事怀疑微信的扫码不是在本地完成的,而是把数据传输到了server端来解码.如何才能得到答案? 微信扫一扫网速检测 为什么会 ...

最新文章

  1. 骰子的妙用---课堂答题
  2. css隐藏状态,CSS元素隐藏和显示
  3. 每天一道LeetCode-----以单词为单位逆序字符串,每个单词之间以一个空格分隔(原字符串中可能有多个空格)
  4. 【mac开发.NET】No installed provisioning profiles match the installed iOS signing identities
  5. python2048游戏代码_【Python】用Python实现2048小游戏(源代码,1.0版本)
  6. java字符串最长回文串_Java中的字符串回文程序
  7. CodeForces - 233A Perfect Permutation
  8. 第7讲 视觉里程计1
  9. 电话系统服务器,局域网电话系统的两种解决方案——是否需要I
  10. Hive内部表和外部表
  11. 证券交易1-交易系统简介
  12. SQL数据库置疑的解决办法
  13. phpspider 的简单使用
  14. 免费股票数据API接口
  15. Archlinux 安装、美化、软件入门(四)
  16. Neutron的介绍
  17. 我们应该去哪个网站学习软件测试呢?
  18. 机器学习复习6-优化器等 面试看这一篇就妥妥够了
  19. Web前端面试指导(完结)
  20. 谷歌工程师薪资有多少 羡慕嫉妒恨

热门文章

  1. 今日早报 每天群里发的精选12条新闻简报 7月8日
  2. python处理cookies
  3. Java 9中--add-exports和--add-opens有什么区别?
  4. Can I help you, madam?
  5. 「津津乐道播客」#357 津津有味:跟「人是铁饭是钢」聊聊特别能吃辣是种什么体验...
  6. 【算法题】1834. 单线程 CPU
  7. PTA 打死我也不说
  8. keepass2android 1.0.3,Keepass2Android离线版
  9. uniapp做小程序的图片(视频)上传的组件封装
  10. 什么是 DeGods NFT 系列?