CN109582312B - 一种智能pos的ui层和逻辑层分离开发方法 - Google Patents

一种智能pos的ui层和逻辑层分离开发方法 Download PDF

Info

Publication number
CN109582312B
CN109582312B CN201811471945.6A CN201811471945A CN109582312B CN 109582312 B CN109582312 B CN 109582312B CN 201811471945 A CN201811471945 A CN 201811471945A CN 109582312 B CN109582312 B CN 109582312B
Authority
CN
China
Prior art keywords
layer
transaction
logic
interface
development
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201811471945.6A
Other languages
English (en)
Other versions
CN109582312A (zh
Inventor
刘福标
卢建兴
罗艺
路亚峰
高海亮
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Vanstone Electronic Beijing Co Ltd
Original Assignee
Vanstone Electronic Beijing Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Vanstone Electronic Beijing Co Ltd filed Critical Vanstone Electronic Beijing Co Ltd
Priority to CN201811471945.6A priority Critical patent/CN109582312B/zh
Publication of CN109582312A publication Critical patent/CN109582312A/zh
Application granted granted Critical
Publication of CN109582312B publication Critical patent/CN109582312B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/38Creation or generation of source code for implementing user interfaces

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明公开了一种智能POS的UI层和逻辑层分离开发方法,涉及***开发技术领域。该方法采取三层的分离结构,分为逻辑层、UI层和中间层,逻辑层负责处理各种交易和对应参数设置等功能,UI层则主要负责交易界面、交易结果、订单信息、参数设置界面的展示。UI层和逻辑层分别添加中间层的jar包,实现中间层的接口。通过中间层连接起来,这样就实现了逻辑和UI的分离,实现了分离开发。实现了不熟悉android界面开发人员编写基于android***的POS程序;缩短了开发的周期;逻辑和界面的分离精炼了代码,方便了后期的维护继续开发。所以,本发明方法,实现了智能POS的UI层和逻辑层的快速分离开发,而且易于后期维护。

Description

一种智能POS的UI层和逻辑层分离开发方法
技术领域
本发明涉及***开发技术领域,尤其涉及一种智能POS的UI层和逻辑层分离开发方法。
背景技术
随着android***的发展,基于android***的POS机也在迅速的发展。它支持灵活的操作界面和多种通讯方式,可安装各色各样的应用APK软件,能够与可信安全的外部设备(密码键盘、底座等)相连,功能强大,操作简单且实用,应用前景相当广泛。
目前,基于android***的POS机的***开发方法,既要考虑对UI层的控制,又要兼顾对逻辑层的控制,即需要对UI层和逻辑层进行混合开发。
但是,对于逻辑层的开发需要技术人员具有专业的POS知识,比如要求熟悉整个收单的流程,熟悉8583报文,EMV等等诸多的专业的知识。而熟悉POS相关专业知识的人可能对android开发的UI不是特别的熟悉,所以,采用现有的开发方法,就会导致开发人员无法很轻松的完成对UI层和逻辑层的混合开发。而且,当项目开发时间周期短,开发工作量大的情况下,也会给开发人员造成较大的麻烦。
发明内容
本发明的目的在于提供一种智能POS的UI层和逻辑层分离开发方法,从而解决现有技术中存在的前述问题。
为了实现上述目的,本发明采用的技术方案如下:
一种智能POS的UI层和逻辑层分离开发的方法,包括如下步骤:
S1,完成对UI层和逻辑层的独立开发,同时完成对中间层的开发,并将中间层进行打包,形成jar包;
S2,UI层添加中间层的jar包,实现中间层页面部分的接口;逻辑层添加中间层的jar包,继承中间层的PayApp类,PayApp类包含初始化***、启动交易、设置参数、获取参数和/或停止交易的一些方法;
S3,UI层和逻辑层分别注册中间层的交易接口和页面接口,UI层和逻辑层通过中间层的交易接口和界面管理接口进行数据传输。
优选地,UI层在基类BaseActivity中实现中间层定义的所有接口,以便于继承该基类的Activity组件进行调用,同时根据不同的交易类型定义不同的场景来展示对应的交易页面。
优选地,UI层通过中间层提供的注册方法来实现当前界面的绑定,当发起交易时调用Payment.startPay方法把交易的类型和交易的json数据传递给逻辑层,以及用于逻辑处理完毕后,调用中间层接口的com_payResult()方法获取处理的结果,并做对应的显示。
优选地,中间层的当前页面控制着和页面相关的部分,所述和页面相关的部分包括确认金额、确认***、手输***、错误提示和确认信息。
优选地,所述交易接口部分还定义了:保存参数和获取参数,UI层展示了Pos交易所需的参数,通过用户自定义设置后通过setParams方法传递到逻辑层,然后逻辑层进行写入文件保存操作;当用户进入到参数设置界面后,通过getParams方法获取相应的参数。
优选地,逻辑层定义子类去继承中间层的PayApp类,实现里面包含的初始化***、启动交易、设置参数、获取参数、停止交易的一些方法,逻辑层通过startPay方法传递过来交易类型和交易数据并对其进行逻辑处理,在处理过程中如果有确认金额或确认***的场景,通过中间层定义的相关方法进行弹窗提示,然后用户通过点击弹框上的按钮确认继续交易,待交易流程执行完毕后调用CB_payResult()方法,CB_payResult()方法包含如下的参数:交易id、错误码和交易结果信息,把交易结果传递给UI层中。
本发明的有益效果是:本发明提供的智能POS的UI层和逻辑层分离开发的方法,采取三层的分离结构,分为逻辑层、UI层和中间层,逻辑层负责处理各种交易和对应参数设置等功能,UI层则主要负责交易界面、交易结果、订单信息、参数设置界面的展示。UI层和逻辑层分别添加中间层的jar包,实现中间层的接口。通过中间层连接起来,这样就实现了逻辑和UI的分离,实现了分离开发。通过分离开发具有如下的优点:实现了不熟悉android界面开发人员编写基于android***的POS程序;把逻辑和界面分开方便快速高效的开发,缩短了开发的周期;逻辑和界面的分离精炼了代码,方便了后期的维护继续开发。所以,采用本发明的方法,可以实现智能POS的UI层和逻辑层的快速分离开发,而且易于后期维护。
附图说明
图1是本发明实施例提供的智能POS的UI层和逻辑层分离开发的方法流程示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施方式仅仅用以解释本发明,并不用于限定本发明。
如图1所示,本发明实施例提供了一种智能POS的UI层和逻辑层分离开发的方法,包括如下步骤:
S1,完成对UI层和逻辑层的独立开发,同时完成对中间层的开发,并将中间层进行打包,形成jar包;
S2,UI层添加中间层的jar包,实现中间层页面部分的接口;逻辑层添加中间层的jar包,继承中间层的PayApp类,PayApp类包含初始化***、启动交易、设置参数、获取参数和/或停止交易的一些方法;
S3,UI层和逻辑层分别注册中间层的交易接口和页面接口,UI层和逻辑层通过中间层的交易接口和界面管理接口进行数据传输。
其中,UI层在基类BaseActivity中实现中间层定义的所有接口,以便于继承该基类的Activity组件进行调用,同时根据不同的交易类型定义不同的场景来展示对应的交易页面。
UI层通过中间层提供的注册方法来实现当前界面的绑定,当发起交易时调用Payment.startPay方法把交易的类型和交易的json数据传递给逻辑层,以及用于逻辑处理完毕后,调用中间层接口的com_payResult()方法获取处理的结果,并做对应的显示。
中间层的当前页面控制着和页面相关的部分,所述和页面相关的部分包括确认金额、确认***、手输***、错误提示和确认信息。
所述交易接口部分还定义了:保存参数和获取参数,UI层展示了Pos交易所需的参数,通过用户自定义设置后通过setParams方法传递到逻辑层,然后逻辑层进行写入文件保存操作;当用户进入到参数设置界面后,通过getParams方法获取相应的参数。
逻辑层定义子类去继承中间层的PayApp类,实现里面包含的初始化***、启动交易、设置参数、获取参数、停止交易的一些方法,逻辑层通过startPay方法传递过来交易类型和交易数据并对其进行逻辑处理,在处理过程中如果有确认金额或确认***的场景,通过中间层定义的相关方法进行弹窗提示,然后用户通过点击弹框上的按钮确认继续交易,待交易流程执行完毕后调用CB_payResult()方法,CB_payResult()方法包含如下的参数:交易id、错误码和交易结果信息,把交易结果传递给UI层中。
可见,本发明提供的上述方法中,分为三层进行开发:
其中UI层主要是用来展示的,为了方便使用在父类中实现包含交易结果,显示提示信息,停止显示信息,显示Toast信息,等待按键的接口IViewCB.在子类中注册中间层交易接口,绑定界面ViewCmd.registManageViewCB(),选择其中一支交易,调用Payment.startPay方法把交易的类型,和交易的json数据传递给逻辑层去做报文的上送和解析等逻辑,等到逻辑处理完毕,调用com_payResult()方法把处理的结果拿到,做对应的显示。
中间层分为页面部分(View)和交易部分,其中页面部分定义了View的回调接口包含显示交易结果,显示提示信信,Toast提示等,在ViewCB中具体的控制着和View相关的部分比如显示***,得到二维码扫描结果,停止二维码扫描等等。交易相关部分定义了支付类的接口,交易结果的回调接口,开始交易,停止交易,把交易结果传透出去,设置交易参数等等。
逻辑层中定义子类去继承中间层的PayApp类实现里面包含初始化***、启动交易、设置参数、获取参数、停止交易等方法。通过中间层拿到交易的类型,和传递过来的json格式的数据例如金额交易时间等去做逻辑处理(如果是交易参数的设置也是通过json格式数据去做处理设置对应的参数),在处理过程中通过中间层的ViewCB中的方法去实现显示提示信息获取UI层中输入的信息等等。交易处理完成后,调用CB_payResult()方法把交易结果传递给UI层中。
通过采用本发明公开的上述技术方案,得到了如下有益的效果:本发明提供的智能POS的UI层和逻辑层分离开发的方法,采取三层的分离结构,分为逻辑层、UI层和中间层,逻辑层负责处理各种交易和对应参数设置等功能,UI层则主要负责交易界面、交易结果、订单信息、参数设置界面的展示。UI层和逻辑层分别添加中间层的jar包,实现中间层的接口。通过中间层连接起来,这样就实现了逻辑和UI的分离,实现了分离开发。通过分离开发具有如下的优点:实现了不熟悉android界面开发人员编写基于android***的POS程序;把逻辑和界面分开方便快速高效的开发,缩短了开发的周期;逻辑和界面的分离精炼了代码,方便了后期的维护继续开发。所以,采用本发明的方法,可以实现智能POS的UI层和逻辑层的快速分离开发,而且易于后期维护。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视本发明的保护范围。

Claims (5)

1.一种智能POS的UI层和逻辑层分离开发的方法,其特征在于,包括如下步骤:
S1,完成对UI层和逻辑层的独立开发,同时完成对中间层的开发,并将中间层进行打包,形成jar包;
S2,UI层添加中间层的jar包,实现中间层页面部分的接口;逻辑层定义子类去继承中间层的PayApp类,实现里面包含的初始化***、启动交易、设置参数、获取参数、停止交易的一些方法,逻辑层通过startPay方法传递过来交易类型和交易数据并对其进行逻辑处理,在处理过程中如果有确认金额或确认***的场景,通过中间层定义的相关方法进行弹窗提示,然后用户通过点击弹框上的按钮确认继续交易,待交易流程执行完毕后调用CB_payResult()方法,CB_payResult()方法包含如下的参数:交易id、错误码和交易结果信息,把交易结果传递给UI层中;
S3,UI层和逻辑层分别注册中间层的交易接口和页面接口,UI层和逻辑层通过中间层的交易接口和界面管理接口进行数据传输。
2.根据权利要求1所述的智能POS的UI层和逻辑层分离开发的方法,其特征在于,UI层在基类BaseActivity中实现中间层定义的所有接口,以便于继承该基类的Activity组件进行调用,同时根据不同的交易类型定义不同的场景来展示对应的交易页面。
3.根据权利要求2所述的智能POS的UI层和逻辑层分离开发的方法,其特征在于,UI层通过中间层提供的注册方法来实现当前界面的绑定,当发起交易时调用Payment.startPay方法把交易的类型和交易的json数据传递给逻辑层,以及用于逻辑处理完毕后,调用中间层接口的com_payResult()方法获取处理的结果,并做对应的显示。
4.根据权利要求1所述的智能POS的UI层和逻辑层分离开发的方法,其特征在于,中间层的当前页面控制着和页面相关的部分,所述和页面相关的部分包括确认金额、确认***、手输***、错误提示和确认信息。
5.根据权利要求4所述的智能POS的UI层和逻辑层分离开发的方法,其特征在于,所述交易接口部分还定义了:保存参数和获取参数,UI层展示了Pos交易所需的参数,通过用户自定义设置后通过setParams方法传递到逻辑层,然后逻辑层进行写入文件保存操作;当用户进入到参数设置界面后,通过getParams方法获取相应的参数。
CN201811471945.6A 2018-12-04 2018-12-04 一种智能pos的ui层和逻辑层分离开发方法 Active CN109582312B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811471945.6A CN109582312B (zh) 2018-12-04 2018-12-04 一种智能pos的ui层和逻辑层分离开发方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811471945.6A CN109582312B (zh) 2018-12-04 2018-12-04 一种智能pos的ui层和逻辑层分离开发方法

Publications (2)

Publication Number Publication Date
CN109582312A CN109582312A (zh) 2019-04-05
CN109582312B true CN109582312B (zh) 2021-09-21

Family

ID=65926583

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811471945.6A Active CN109582312B (zh) 2018-12-04 2018-12-04 一种智能pos的ui层和逻辑层分离开发方法

Country Status (1)

Country Link
CN (1) CN109582312B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112000420B (zh) * 2020-11-02 2021-01-15 武汉中科通达高新技术股份有限公司 一种数据处理方法和装置

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101482950A (zh) * 2009-02-12 2009-07-15 宇龙计算机通信科技(深圳)有限公司 一种网络支付的方法、终端及***
CN101872305A (zh) * 2010-06-08 2010-10-27 用友软件股份有限公司 Ui表现和业务逻辑分离方法和***
CN102467795A (zh) * 2010-11-10 2012-05-23 国民技术股份有限公司 一种读卡装置及利用现有智能终端构成pos***和方法
CN102799631A (zh) * 2012-06-26 2012-11-28 公安部第三研究所 基于rest实现网络电子身份标识业务过程管理控制的方法
CN103164792A (zh) * 2011-12-14 2013-06-19 阿里巴巴集团控股有限公司 无线终端上的支付服务提供方法及相关设备和***
CN105701406A (zh) * 2015-12-31 2016-06-22 深圳市证通电子股份有限公司 安卓平台运行传统支付应用的方法
CN106095537A (zh) * 2016-06-30 2016-11-09 福建联迪商用设备有限公司 Android支付插件的管理方法及***
CN107491953A (zh) * 2004-05-25 2017-12-19 沐溪支付技术股份公司 用于支持POS终端上Web应用的***
CN107632869A (zh) * 2017-09-15 2018-01-26 百富计算机技术(深圳)有限公司 一种加载pos应用的用户界面的方法与设备
CN108628620A (zh) * 2017-12-12 2018-10-09 百富计算机技术(深圳)有限公司 Pos应用开发的实现方法、装置、计算机设备和存储介质
CN108762757A (zh) * 2018-05-21 2018-11-06 武汉斗鱼网络科技有限公司 直播间平台业务快速开发框架及方法、服务器及介质
CN108897530A (zh) * 2018-06-21 2018-11-27 北京慧达天下科技有限公司 一种基于组件模块的教育开发***

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9955332B2 (en) * 2009-01-28 2018-04-24 Headwater Research Llc Method for child wireless device activation to subscriber account of a master wireless device
US10037194B2 (en) * 2016-01-22 2018-07-31 American Express Travel Related Services Company, Inc. Systems and methods for visual data management

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107491953A (zh) * 2004-05-25 2017-12-19 沐溪支付技术股份公司 用于支持POS终端上Web应用的***
CN101482950A (zh) * 2009-02-12 2009-07-15 宇龙计算机通信科技(深圳)有限公司 一种网络支付的方法、终端及***
CN101872305A (zh) * 2010-06-08 2010-10-27 用友软件股份有限公司 Ui表现和业务逻辑分离方法和***
CN102467795A (zh) * 2010-11-10 2012-05-23 国民技术股份有限公司 一种读卡装置及利用现有智能终端构成pos***和方法
CN103164792A (zh) * 2011-12-14 2013-06-19 阿里巴巴集团控股有限公司 无线终端上的支付服务提供方法及相关设备和***
CN102799631A (zh) * 2012-06-26 2012-11-28 公安部第三研究所 基于rest实现网络电子身份标识业务过程管理控制的方法
CN105701406A (zh) * 2015-12-31 2016-06-22 深圳市证通电子股份有限公司 安卓平台运行传统支付应用的方法
CN106095537A (zh) * 2016-06-30 2016-11-09 福建联迪商用设备有限公司 Android支付插件的管理方法及***
CN107632869A (zh) * 2017-09-15 2018-01-26 百富计算机技术(深圳)有限公司 一种加载pos应用的用户界面的方法与设备
CN108628620A (zh) * 2017-12-12 2018-10-09 百富计算机技术(深圳)有限公司 Pos应用开发的实现方法、装置、计算机设备和存储介质
CN108762757A (zh) * 2018-05-21 2018-11-06 武汉斗鱼网络科技有限公司 直播间平台业务快速开发框架及方法、服务器及介质
CN108897530A (zh) * 2018-06-21 2018-11-27 北京慧达天下科技有限公司 一种基于组件模块的教育开发***

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
POS UI design & development: what should be included & avoided;Forer;《https://stackoverflow.com/questions/1108799/pos-ui-design-development-what-should-be-included-avoided》;20090710;全文 *
WEB应用中间层的分层架构设计总结;阿堂;《http://blog.sina.com.cn/s/blog_4c925dca0101jb4q.html》;20140402;全文 *

Also Published As

Publication number Publication date
CN109582312A (zh) 2019-04-05

Similar Documents

Publication Publication Date Title
CN101957793B (zh) 一种面向Android及其衍生***的软件操作录制回放方法
WO2017124976A1 (zh) 一种应用资源获取方法及装置
CN111198686A (zh) 编程方法、装置、设备及计算机可读存储介质
CN109471626A (zh) 页面逻辑结构、页面生成方法、页面数据处理方法及装置
CN103597464B (zh) 将解释运行时应用适应到多个客户机的方法、***及装置
CN109582312B (zh) 一种智能pos的ui层和逻辑层分离开发方法
CN106161833A (zh) 操作屏幕提供***、中继设备和操作屏幕提供方法
CN111352600A (zh) 一种大屏控制***、方法、装置及电子设备
US20220124192A1 (en) Communication System Selection
CN104463493A (zh) 一种金融社保ic卡现场发卡方法
CN109784452A (zh) 基于彩色二维码的卡证识别方法和装置
CN107402762A (zh) 指纹导航的实现方法及装置
CN101917573B (zh) Widget***的实现方法及采用该***的电视机
CN109550232A (zh) 触控设备及其响应方法、装置
CN103067173B (zh) 基于脚本的动态密钥网络签发和界面控制方法及***
CN108376333A (zh) 文件审批方法、介质、装置和计算设备
CN107071142A (zh) 一种基于移动终端的触摸屏失灵控制方法及***
CN106842969A (zh) 设备控制方法及装置
CN109725621A (zh) 一种基于1553b总线和can总线的二级总线程序在线烧写方法
CN108668310A (zh) 一种检测装置的控制方法、检测装置以及存储介质
CN114253634A (zh) 一种基于pisa的智能设备硬件交互***
CN108984318B (zh) 基于驱动模型的消息投递方法、装置及可读存储介质
CN103984510B (zh) 一种基于Android的打印机状态提示方法和装置
CN103377074B (zh) 一种在java环境中执行程序的方法及***
CN205862465U (zh) 多媒体信息查询装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant