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

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

Info

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
Application number
CN201811471945.6A
Other languages
English (en)
Other versions
CN109582312B (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

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)
  • 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层和逻辑层分离开发方法
技术领域
本发明涉及系统开发技术领域,尤其涉及一种智能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层中。
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 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)

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

Citations (14)

* 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支付插件的管理方法及系统
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 北京慧达天下科技有限公司 一种基于组件模块的教育开发系统

Patent Citations (14)

* 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应用的系统
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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