CN109582312A - 一种智能pos的ui层和逻辑层分离开发方法 - Google Patents
一种智能pos的ui层和逻辑层分离开发方法 Download PDFInfo
- Publication number
- CN109582312A CN109582312A CN201811471945.6A CN201811471945A CN109582312A CN 109582312 A CN109582312 A CN 109582312A CN 201811471945 A CN201811471945 A CN 201811471945A CN 109582312 A CN109582312 A CN 109582312A
- Authority
- CN
- China
- Prior art keywords
- layer
- transaction
- interface
- logical
- layers
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/38—Creation 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)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了一种智能POS的UI层和逻辑层分离开发方法,涉及系统开发技术领域。该方法采取三层的分离结构,分为逻辑层、UI层和中间层,逻辑层负责处理各种交易和对应参数设置等功能,UI层则主要负责交易界面、交易结果、订单信息、参数设置界面的展示。UI层和逻辑层分别添加中间层的jar包,实现中间层的接口。通过中间层连接起来,这样就实现了逻辑和UI的分离,实现了分离开发。实现了不熟悉android界面开发人员编写基于android系统的POS程序;缩短了开发的周期;逻辑和界面的分离精炼了代码,方便了后期的维护继续开发。所以,本发明方法,实现了智能POS的UI层和逻辑层的快速分离开发,而且易于后期维护。
Description
技术领域
本发明涉及系统开发技术领域,尤其涉及一种智能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 (6)
1.一种智能POS的UI层和逻辑层分离开发的方法,其特征在于,包括如下步骤:
S1,完成对UI层和逻辑层的独立开发,同时完成对中间层的开发,并将中间层进行打包,形成jar包;
S2,UI层添加中间层的jar包,实现中间层页面部分的接口;逻辑层添加中间层的jar包,继承中间层的PayApp类,PayApp类包含初始化系统、启动交易、设置参数、获取参数和/或停止交易的一些方法;
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方法获取相应的参数。
6.根据权利要求1所述的智能POS的UI层和逻辑层分离开发的方法,其特征在于,逻辑层定义子类去继承中间层的PayApp类,实现里面包含的初始化系统、启动交易、设置参数、获取参数、停止交易的一些方法,逻辑层通过startPay方法传递过来交易类型和交易数据并对其进行逻辑处理,在处理过程中如果有确认金额或确认卡号的场景,通过中间层定义的相关方法进行弹窗提示,然后用户通过点击弹框上的按钮确认继续交易,待交易流程执行完毕后调用CB_payResult()方法,CB_payResult()方法包含如下的参数:交易id、错误码和交易结果信息,把交易结果传递给UI层中。
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 true CN109582312A (zh) | 2019-04-05 |
CN109582312B 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) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112000420A (zh) * | 2020-11-02 | 2020-11-27 | 武汉中科通达高新技术股份有限公司 | 一种数据处理方法和装置 |
Citations (14)
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支付插件的管理方法及系统 |
US20170201850A1 (en) * | 2009-01-28 | 2017-07-13 | Headwater Research Llc | Method for Child Wireless Device Activation to Subscriber Account of a Master Wireless Device |
US20170212731A1 (en) * | 2016-01-22 | 2017-07-27 | American Express Travel Related Services Co., Inc. | Systems and methods for visual data management |
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 | 北京慧达天下科技有限公司 | 一种基于组件模块的教育开发系统 |
-
2018
- 2018-12-04 CN CN201811471945.6A patent/CN109582312B/zh active Active
Patent Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107491953A (zh) * | 2004-05-25 | 2017-12-19 | 沐溪支付技术股份公司 | 用于支持POS终端上Web应用的系统 |
US20170201850A1 (en) * | 2009-01-28 | 2017-07-13 | Headwater Research Llc | Method for Child Wireless Device Activation to Subscriber Account of a Master Wireless Device |
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 | 深圳市证通电子股份有限公司 | 安卓平台运行传统支付应用的方法 |
US20170212731A1 (en) * | 2016-01-22 | 2017-07-27 | American Express Travel Related Services Co., Inc. | Systems and methods for visual data management |
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)
Title |
---|
FORER: "POS UI design & development: what should be included & avoided", 《HTTPS://STACKOVERFLOW.COM/QUESTIONS/1108799/POS-UI-DESIGN-DEVELOPMENT-WHAT-SHOULD-BE-INCLUDED-AVOIDED》 * |
阿堂: "WEB应用中间层的分层架构设计总结", 《HTTP://BLOG.SINA.COM.CN/S/BLOG_4C925DCA0101JB4Q.HTML》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112000420A (zh) * | 2020-11-02 | 2020-11-27 | 武汉中科通达高新技术股份有限公司 | 一种数据处理方法和装置 |
CN112000420B (zh) * | 2020-11-02 | 2021-01-15 | 武汉中科通达高新技术股份有限公司 | 一种数据处理方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN109582312B (zh) | 2021-09-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10902390B2 (en) | Electronic device and payment method using the same | |
WO2021000577A1 (zh) | 一种刷脸支付方法和装置 | |
CN103686304B (zh) | 一种图层合成方法、装置及终端设备 | |
CN108804536A (zh) | 人机对话与策略生成方法、设备、系统及存储介质 | |
CN106157071A (zh) | 一种公众账号抽奖的方法和系统 | |
CN111459586B (zh) | 远程协助方法、装置、存储介质及终端 | |
CN106373249A (zh) | 叫号装置、银行网点的多渠道排队的方法以及系统 | |
JP2003015874A (ja) | ユーザインターフェイスを生成するためのエキスパートシステム | |
TW202008251A (zh) | 支付工具推薦方法、裝置、設備及電腦可讀儲存媒體 | |
CN103597464B (zh) | 将解释运行时应用适应到多个客户机的方法、系统及装置 | |
CN110225246B (zh) | 事件脚本的生成方法、装置、电子设备及计算机可读存储介质 | |
CN108694578A (zh) | 支付方法、支付装置、终端设备及计算机可读存储介质 | |
CN110427243A (zh) | 提高开屏广告互动效果的方法、终端及存储介质 | |
CN108269222A (zh) | 一种窗口渲染方法及终端 | |
CN109948882A (zh) | 基于区块数据结构的任务处理方法及相关设备 | |
CN109582312A (zh) | 一种智能pos的ui层和逻辑层分离开发方法 | |
CN107483728A (zh) | 应用消息通知装置和方法 | |
CN109739753A (zh) | 棋牌游戏测试方法、装置、设备及存储介质 | |
CN109550232A (zh) | 触控设备及其响应方法、装置 | |
CN109358927A (zh) | 应用程序显示的方法、装置及终端设备 | |
CN110210842A (zh) | 资源转移方法、系统、装置、存储介质和计算机设备 | |
CN108520063A (zh) | 事件日志的处理方法、装置及终端设备 | |
CN112911180A (zh) | 一种视频录制方法、装置、电子设备及可读存储介质 | |
CN107015795A (zh) | 一种绘制用户界面的方法及装置 | |
US9438720B2 (en) | Exchanging information via a designated application |
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 |