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


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

  1. 第二步主要说了使用的工具和版本,注意,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过掉


  1. 在左侧的菜单栏中如果上面是一个小机器人,可以下拉选择一下为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扫码 超简单零代码相关推荐

  1. 自己动手调试Android源码(超简单)

    在自己动手编译Android最新源码一文中,我们为自己编译了一份最新的Android源码.很多时候,我们编译源码的目的不仅仅是尝试一番,而是希望对其进行调试,并修改源码,看看其中一些关键机制的运行原理 ...

  2. android:自己动手编译Android源码(超详细)

    自己动手编译Android源码(超详细) 涅槃1992 2016.06.20 02:12* 字数 4330 阅读 86819评论 89喜欢 339赞赏 7 在Android Studio代码调试一文中 ...

  3. 全网最火 - 跳舞的鸭子动态源码 - 超简单

    全网最火 - 跳舞的鸭子动态源码 - 超简单 效果图: <!DOCTYPE html> <html lang="en"> <head><m ...

  4. Android 扫码盒子全局接收付款码

    另一种全局接收方式已更新:https://blog.csdn.net/qq_39731011/article/details/107684794 (Activity事件全局分发) 扫码盒子通用接收原理 ...

  5. Android扫码实现

    今天来个扫描二维码的功能,简单实用,还可自行更改(二维码部分是在网上找的一个moudle,直接导入实用即可,这里提前感谢大佬们) 1.首先,新建一个Activity,来个Button(调起扫码界面), ...

  6. python编程软件例子-Python实现扫码工具的示例代码

    二维码作为一种信息传递的工具,在当今社会发挥了重要作用.从手机用户登录到手机支付,生活的各个角落都能看到二维码的存在.那你知道二维码是怎么解析的吗?有想过自己实现一个扫码工具吗?如果想的话就继续看下去 ...

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

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

  8. android扫码二维码识别二维码

    1. 快速集成扫码二维码,识别二维码功能.经过加工处理优化的,直接返回扫码结果字符串和图片的bitmap数据. 直接上代码: package com.xinxinchelian.myscanzxing ...

  9. Android 扫码登录案例

    首先不妨先看下Android:扫描二维码登陆原理: 大概总结下这个过程就是: 服务器生成全局唯一会话ID,并返回二维码.过期时间: 用户扫描二维码,提交改会话ID,用户基本信息到服务器: PC端在过期 ...

最新文章

  1. HTTP协议和工作原理
  2. Docker常用命令汇总
  3. 特斯拉CEO对自动驾驶发表预测,专家:别扰乱公众的认知了
  4. java环境变量设置
  5. 58回应“简历数据泄露”:将展开追查并加固安全系统
  6. linux下基于apache下的svn的搭建
  7. Servlet和JAVA BEAN 分析探讨
  8. thinkphp当前php路径,分析thinkphp常见路径用法分析
  9. UVa 11762 (期望 DP) Race to 1
  10. mysql导出表结构_mysql导入导出表结构及表数据及执行sql文件
  11. Div+CSS布局入门教程(二) 写入整体层结构与CSS
  12. 推特超2K赞,DeepMind强化学习综述:她可以很快,但快从慢中来
  13. 收获,不止SQL优化——抓住SQL的本质--第八章
  14. bzoj 4031 [HEOI2015]小Z的房间
  15. 关于修改android studio的gradle目录
  16. itertools编程训练
  17. [TJOI2015]弦论(后缀数组or后缀自动机)
  18. 生产稳定:JVM-MySQL-Tomcat-服务调用,调优相关
  19. 曾国藩《挺经》卷七英才
  20. 带有源代码的2020年20种最佳HTML5游戏模板

热门文章

  1. python3爬虫系列16之多线程爬取汽车之家批量下载图片
  2. 跟着老猫来搞GO-基础语法
  3. 请帮小明同学设计一个程序,输入上次考试成绩(int)和本次考试成绩(int),然后输出成绩提高百分比,保留2位小数。
  4. 计算机丢失dog.dll,dog.dll(解决找不到dog.dll文件问题)V1.0 正式版
  5. BAT大厂面试题以及答案(一)
  6. 防弹脚注,Woohoo!
  7. 空气污染指数API的计算方法
  8. selenium.common.exceptions.WebDriverException: Message: unable to set
  9. python txt文件读写 pandas_Python数据分析之Pandas读写外部数据文件!
  10. Qt 实现带阴影 无边框的QMessageBox