android 代码 华为 os,Android | 带你零代码实现安卓扫码功能
小序
这是一篇纯新手教学,本人之前没有任何安卓开发经验(尴尬),本文也不涉及任何代码就可以使用一个扫码demo,华为scankit真是新手的福音……
背景介绍
最近被导师要求做一个购物收费的app,毕设好难呀~ 网上找了半天全是zxing,但是扫码效果真是有点小垃圾,无奈只能继续寻寻觅觅……突然发现网上有篇讲集成hms的文章,稍微借鉴了一下。由于在下是安卓小白,全篇没有一点代码,只是搬运一下华为网站的codelab,抱着忐忑的心情,竟然可以一键运行……
前期准备
开发工具用的是android studio
zxing和华为扫码服务对比
回到我们的主题上—扫码,我在选择扫码库的时候,首先接触到的是google的开源库ZXing,也上手进行了实操,可以说集成过程还是蛮简单的,但是针对我本身的业务场景和需求,识别率上还是不够达标,自动对焦能力也不具备,不能够达到即开即用的要求,所以我就继续进行了调研,就了解到了华为的一个扫码服务,按照网站上的一些指引,20分钟就搞出来一个小demo,然后就真香,能够自定义UI界面,还能够自动对焦,对于一些有反光,有污损,形变,超远距离的场景都能很好地识别。特来分享,码字不易哦。最主要的是华为扫码服务是安卓全机型覆盖,太棒惹!~
开始搬运
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出。
原作者:Wisteria
android 代码 华为 os,Android | 带你零代码实现安卓扫码功能相关推荐
- Android | 带你零代码实现安卓扫码功能
目录 小序 背景介绍 前期准备 开始搬运 结语 小序 这是一篇纯新手教学,本人之前没有任何安卓开发经验(尴尬),本文也不涉及任何代码就可以使用一个扫码demo,华为scankit真是新手的福音-- ...
- android 实现扫码功能,Android | 带你零代码实现安卓扫码功能
小序 这是一篇纯新手教学,本人之前没有任何安卓开发经验(尴尬),本文也不涉及任何代码就可以使用一个扫码demo,华为scankit真是新手的福音-- 背景介绍 最近被导师要求做一个购物收费的app,毕 ...
- Android扫码功能--华为统一扫码服务
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言 一.华为统一扫码服务是什么? 二.使用步骤 1.准备工作 2.开启扫码功能 3.自定义扫码页面 4.同时识别多个二维码 ...
- Android 二维码扫码功能实现(Zxing集成,避坑启示)
这两天想要实现一个能扫码的app,找了一下,发现zxing用的比较多,就在网上找了找怎么用zxing.我主要是按照宇宝守护神的博文"Android 二维码的扫码功能实现(一)"的步 ...
- 微信扫码 android sdk,H5中js-sdk扫码功能,Android手机微信中无法调用扫码?
我的H5对接微信JS-SDK中的扫码功能,发现在Android手机微信中无法调用扫码功能,在苹果手机微信中可以使用. 报如下错误: errMsg:scanQRCode:permissi on deni ...
- Android 基于Zxing的扫码功能实现(二)
本篇文章已授权微信公众号 guolin_blog (郭霖)独家发布 引言 本篇博文是基于 Android 二维码的扫码功能实现(一) 文章写的,建议阅读这篇文章之前,先看看上篇文章.还有建议阅读本文的 ...
- 安卓使用华为HMS实现扫码功能
@安卓使用华为HMS实现扫码功能 最近接到了一个项目,要在我们的app上集成扫码登录功能,类似于微信一样,在手机端扫码即可实现电脑端登录. 最开始打算使用谷歌提供的开发包进行开发,但是发现谷歌提供的开 ...
- 基于android的门禁系统代码,基于ESP8266 base on esp8266门禁系统 安卓源码
基于ESP8266门禁系统安卓源码 视频中的小伙伴是我的搭档,负责硬件电路搭建,为了搭电路没少熬夜,挺感谢他的. 这是本人的毕业设计(专科)历时一个月完成.在做毕业设计之前一直在准备转本考试,考完试, ...
- 华为mate9 android p,华为Mate10 Android P运行crash
华为Mate10 Android P未发布的系统, patch合成成功,但app重启后运行crash,堆栈在最下面 异常类型:app运行时异常 手机型号:华为Mate 10 手机系统版本:Androi ...
- 荣耀7点了android版本,华为+荣耀7款老爷机齐升安卓8.0:最近两年全覆盖
原标题:华为+荣耀7款老爷机齐升安卓8.0:最近两年全覆盖 在本周的花粉俱乐部6周年庆祝贺视频中,华为消费者业务CEO余承东透露,华为今年智能机的发货量将接近2亿台,接近全球第二的位置. 毋庸置疑,华 ...
最新文章
- 12面魔方公式图解法_【高级篇】(三)三阶魔方CFOP高级玩法之——F2L
- iis无法启动计算机上的服务器,Win7系统iis无法启动怎么解决?
- OpenCV VideoCapture与捕获设备,视频文件或图像序列一起使用的实例
- 网站使用微信扫码登录流程
- 防火墙(7)——禁止具体协议
- 如何判断是linux/windows库,module或程序debug还是release(转)
- XCODE---个人常用快捷键整理
- 不同数据库的自增代码
- burst什么意思_为什么Windows/iOS操作很流畅而Linux/Android却很卡顿呢?
- json_decode和json_encode的区别
- python与html5_python前端HTML和CSS入门
- 安卓毕业设计源码,基于Android的商城App
- 12.SpringBoot集成微信公众号开发
- DDIM代码详细解读(1):数据集加载、类别条件信息读取、关键超参数解析
- 风道设计独特,外观简约时尚,安钛克DF 700 Flux机箱体验
- 静态路由的配置以及简单分析
- 【形式化学习笔记】1:Event-B相继式(Sequent)和推理规则(Inference Rule)
- C语言期末考试成绩奖励编码,C语言期末考试总结,看完保你过
- 腾讯云服务器php设置,Windows 腾讯云服务器的 PHP 配置
- 天猫精灵X1自动恢复出厂设置解决方法
热门文章
- DRILLNET 2.0------第二十章 高温高压钻井水力计算模型
- NonComVisibleBaseClass Exception
- (转自YYW'S BLOG)IListT 转换成 DataSet
- LC-1186 连续子数组中可删除一个数的最大和
- 《Unity_5.X_3D游戏开发技术详解与典型案例》pdf
- linux挂载win下的共享文件
- 关于调整input里面的输入光标大小
- Blocks的申明调用与Queue当做锁的用法
- 使用PyTorch建立您的第一个文本分类模型
- 【NLP 算法岗】提前批暑期实习面(试)经(历)