全Delphi代码实现安卓扫码程序
前言
手机扫码在APP里的需求较高的,通常Delphi实现扫码主要有两种方式:
方式一、
通过调用JAR包功能实现,该方法目前使用率颇高,在结合Delphi实现扫码功能的时候配置过程繁多,需要发布较多的资源文件 ,扫码界面不能定制。
(在查看JAR包里内容时,发现很多与扫码无关的内容,包括通讯录的访问、电子邮件、短信、WIFI、网络等,如下图)
这些jar包里的我理解与扫码无关的类文件究竟做什么的 我没有深入去研究 ,也可能是开发者有其他需求方面的考虑,对我来说这些文件(或功能)冗余。
方式二、全部使用Delphi实现扫码
这种方式下不需要调用Jar包,开发简单方便,适合于熟悉Dephi的朋友,不用去了解Jar包。这种方法使用不多的原因是系统自带相机组件在显示扫码画面时的卡顿问题。好在,卡顿的问题可以得到解决。所以,也有很多的朋友在使用。
通过一些尝试,我将主要用于扫码的功能做了封装,使用起来就更为方便。( 演示代码请至:https://download.csdn.net/download/tanqth/12668686下载 )
Delphi实现扫码说明
下载后的压缩包里 Source\Delphi\Lib 目录中包括了两种不同的静态库文件,均可使用。静态库文件使用 D10.3.2编译生成,暂未在其他开发版本中测试过,理论上其他版本也应该可以使用。
代码说明
代码简单到整个单元不足100行(包括文件引用与窗体控件的定义),实际使用仅需要三个函数一个回调用 过程:
在代码中,我们主要使用到三个函数(初始化、扫码功能、结束清理),一个回调处理过程(处理扫码取得的信息):
//调用扫码功能的函数,参数为回调过程地址
function ScanOpen(vCallback: Pointer): Integer; cdecl;external LIB_FAST_UTILS name 'ScanOpen';
//调用静态库内的初始化过程 其中第二个参数是扫码完成后提示音文件(你可以使用自己喜欢的提示音)
procedure Init(vApp: TApplication; vBeep: string); cdecl;external LIB_FAST_UTILS name 'Init';procedure Finit; cdecl; external LIB_FAST_UTILS name 'Finit';Procedure OutText(Const AText: String); //扫码后的回调过程
演示程序里回调过程仅将取得的扫码结果用于显示出来。
项目设置
项目设置中仅需要将静态库文件路径加入到搜索路径中即可( 这项设置非常重要 ):
安卓高版本下需要动态申请相机与存储卡访问权限,这部分代码已完全整合到静态库中,我们制作程序时可以完全不用再去考虑。
其他说明
因为静态库里包括了扫码时的界面,所以扫码界面暂不可使用(使用静态库方式下)。静态库完全使用Delphi开发,引用库后,系统会自动将库中的代码完全整合到APP中,不需要再发布库文件。
因为时间与经历有限,可能会存在一些考虑不周的地方,以及BUG。
更换扫码成功后的提示音时,需要发布声音文件,然后修改初始化代码,将需要的提示音文件路径传递给静态库。
演示代码及封装静态库下载地址
点击可跳转下载页面
BIN目录内有已编译好的APP,可直接安装测试使用效果。
其他需要
您可以联系我。
欢迎光顾本人小店:(https://shop63778938.taobao.com/)
小店也提供delphi方面其他技术支持、定制开发。
现在就进店看看
大家有什么不清楚的,可以给我留言或讨论。
以上信息对您有用的话请点赞收藏,就下面这行
全Delphi代码实现安卓扫码程序相关推荐
- Android | 带你零代码实现安卓扫码功能
目录 小序 背景介绍 前期准备 开始搬运 结语 小序 这是一篇纯新手教学,本人之前没有任何安卓开发经验(尴尬),本文也不涉及任何代码就可以使用一个扫码demo,华为scankit真是新手的福音-- ...
- android 实现扫码功能,Android | 带你零代码实现安卓扫码功能
小序 这是一篇纯新手教学,本人之前没有任何安卓开发经验(尴尬),本文也不涉及任何代码就可以使用一个扫码demo,华为scankit真是新手的福音-- 背景介绍 最近被导师要求做一个购物收费的app,毕 ...
- 分享一个小案例,用HMS Scankit做一个安卓扫码购小应用
前言 随着消费升级,零售业逐渐迈入新的发展阶段,"新零售"现象:消费者在货架前扫描小程序二维码,一边逛一边扫描条形码下单,等选好要买的东西,直接拿出手机,通过"扫码购&q ...
- Android zar高速扫码程序,(比zxing快很多倍),包更小,扫码界面Xml布局。
最近在为公司做一个仓库管理系统,里面涉及到物流扫码,产品扫码等功能,公司购置了许多PDA用来操作,因此最近研究了一下Android的扫码. 关于zxing 和zbar的比较, 这里我大概的了解了一下: ...
- [引流源码]:QQ全套扫码加速引流源码分享,全静态 可以做各种扫码加速引流+免费分享
介绍 全静态,可以做各种扫码加速引流,上传即可使用非常方便 下载链接 http://www.bytepan.com/azEm5XQuyJJ 图片
- php易宝支付扫码支付代码_谈谈扫码支付
当下中国90%的消费都已经被无卡支付取代了,看一看你们身边的消费 有几个消费支付还需要拿信用卡出来刷的? 超级管家属于无卡支付类型的一种,本无地域区分,你在网上支付购物买一个冰箱手机空调,消费商户也是 ...
- 区块链电商:全流程溯源防伪,扫码购物新升级
现在,市场上存在不少假冒伪劣商品,多的是各种品牌的高仿.盗版以及不少劣质产品,这不仅侵犯了消费者的权益,也严重损害了名优产品的信誉,侵犯企业的合法权益,甚至危及企业的生存与发展. 所以,现在名优产品多 ...
- php关注公众号代码,PHP微信扫码关注公众号源码
附上数据库信息:CREATE TABLE IF NOT EXISTS `qrcode` ( `id` int(11) unsigned NOT NULL, `addtime` int(10) NOT ...
- opencv java 摄像头_使用OpenCV Java创建Windows摄像头扫码程序
OpenCV提供了一些基本的Webcam控制接口.用OpenCV C/C++或者Python,可以在任意平台快速创建一个摄像头预览应用.然而使用Java,情况就复杂的多,因为OpenCV Java并没 ...
- Python+Vue计算机毕业设计食品质量安全追溯平台yoh8h(源码+程序+LW+部署)
该项目含有源码.文档.程序.数据库.配套开发软件.软件安装教程 项目运行环境配置: Python3.7.7+Django+Mysql5.7+pip list+HBuilderX(Vscode也行)+V ...
最新文章
- OEP30W频率响应
- 为什么互联网公司都喜欢自研业务系统?
- ASP.NET开源框架之HIPPO技术内幕(四)--多语言的实现
- C语言学习之编写一个C程序,运行时输人abc三个值,输出其中值最大者。
- 关于字符集--总结,补遗以及问题
- android theme继承原理,android – 使用Holo父主题从Theme.Light继承editText
- 安装EPP的调试Zend Debugger
- 一个优秀的公司如何才能成为一个卓越的公司?
- 实操高校数据中心vsphere6.0升级6.5,重新规划网络。
- 提高开发效率的 Eclipse 实用操作
- 纯css3代码写九宫格效果
- 富文本编辑器防xss攻击
- python矢量化运算_Python里面的矩阵与矢量化运算
- 数据结构系列,二叉平衡树的构建
- Linux常用命令(一)
- 软件工程总结笔记——软件结构设计(四)
- 00后小花张子枫亲力推荐 OPPO Reno6系列影像表现着实不俗
- Farkas'Lemma 和 S-Lemma
- launch尺寸 包含iPhone X
- 全媒体时代的速度与激情:香港凤凰卫视云端转型实践