CN102929688A - 一种模拟触摸屏的模拟器实现方法及该模拟器 - Google Patents
一种模拟触摸屏的模拟器实现方法及该模拟器 Download PDFInfo
- Publication number
- CN102929688A CN102929688A CN2012104233478A CN201210423347A CN102929688A CN 102929688 A CN102929688 A CN 102929688A CN 2012104233478 A CN2012104233478 A CN 2012104233478A CN 201210423347 A CN201210423347 A CN 201210423347A CN 102929688 A CN102929688 A CN 102929688A
- Authority
- CN
- China
- Prior art keywords
- simulation
- simulator
- interface
- driven
- module
- 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
Images
Landscapes
- Debugging And Monitoring (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本发明公开一种模拟触摸屏的模拟器实现方法及该模拟器,其中,所述方法包括步骤:设置一包括模拟驱动及模拟UI模块的模拟器,所述模拟驱动提供给应用程序第一接口以及提供给模拟UI模块第二接口,所述模拟UI模块接收到模拟动作指令后,通过第二接口写入至模拟驱动,所述应用程序通过所述第一接口从所述模拟驱动中读取模拟动作指令,并根据所述模拟动作指令进行相应的动作,实现对触摸屏的模拟。通过本发明的模拟器,应用程序的开发人员可以独立于实际的触摸屏来进行软件开发,操作起来非常方便,并且模拟效果逼真。
Description
技术领域
本发明涉及软件开发领域,尤其涉及一种模拟触摸屏的模拟器实现方法及该模拟器。
背景技术
现有技术中,移动终端开发过程包括软件开发和硬件开发两个部分,在触摸屏相关的软件开发过程中,经常需要在实际的触摸屏硬件上进行调试,如果触摸屏硬件没有准备好,相关的软件开发就难以顺利进行,如果软件开发以及调试能够在软件程序上进行操作,则会大大提高软件开发效率。而现有技术中,又没有能够模拟触摸屏硬件功能的软件程序,导致触摸屏相关的软件开发效率较低。
因此,现有技术还有待于改进和发展。
发明内容
鉴于上述现有技术的不足,本发明的目的在于提供一种模拟触摸屏的模拟器实现方法及该模拟器,旨在解决现有的移动终端开发过程中触摸屏相关的软件开发无法在软件程序上进行操作、开发效率低的问题。
本发明的技术方案如下:
一种模拟触摸屏的模拟器实现方法,其中,包括步骤:
设置一包括模拟驱动及模拟UI模块的模拟器,所述模拟驱动提供给应用程序第一接口以及提供给模拟UI模块第二接口,所述模拟UI模块接收到模拟动作指令后,通过第二接口写入至模拟驱动,所述应用程序通过所述第一接口从所述模拟驱动中读取模拟动作指令,并根据所述模拟动作指令进行相应的动作,实现对触摸屏的模拟。
一种采用所述的实现方法模拟触摸屏的模拟器,其中,所述模拟器包括模拟驱动及模拟UI模块,所述模拟驱动用于提供给应用程序第一接口以及提供给模拟UI模块第二接口,所述模拟UI模块将接收到的模拟动作指令通过第二接口写入至模拟驱动,所述应用程序通过所述第一接口从所述模拟驱动中读取模拟动作指令,并根据所述模拟动作指令进行相应的动作,实现对触摸屏的模拟。
所述模拟触摸屏的模拟器,其中,所述模拟UI模块包括一用于接收用户输入的模拟动作指令的鼠标。
所述模拟触摸屏的模拟器,其中,所述模拟驱动以及模拟UI模块均定义了用于保存鼠标的动作事件的坐标信息的数据结构。
所述模拟触摸屏的模拟器,其中,所述动作事件包括点击、释放以及滑动事件。
所述模拟触摸屏的模拟器,其中,所述第二接口包括用于将鼠标的动作事件的坐标信息写入至模拟驱动的坐标信息写入接口。
所述模拟触摸屏的模拟器,其中,所述模拟UI模块设置有捕捉鼠标的动作事件的事件过滤器。
有益效果:本发明模拟触摸屏的模拟器实现方法及该模拟器,通过设置模拟驱动及模拟UI模块,由该模拟驱动用于提供给应用程序第一接口以及提供给模拟UI模块第二接口,应用程序从该模拟驱动中读取模拟动作指令,并根据所述模拟动作指令进行相应的动作,实现对触摸屏的模拟。通过本发明的模拟器,应用程序的开发人员可以独立于实际的触摸屏来进行软件开发,操作起来非常方便,并且模拟效果逼真,只需要保证第一接口与真实硬件中的第一接口一致,即可保证应用程序在真实的触摸屏中也可实现,所以本发明的模拟器即使被真实硬件替换,该模拟器与真实硬件的差别也可忽略,使得开发后的应用程序不需要在后期进行修改,从而提高了应用程序的开发效率。
附图说明
图1为本发明模拟触摸屏的模拟器较佳实施例的结构框图。
具体实施方式
本发明提供一种模拟触摸屏的模拟器实现方法及该模拟器,为使本发明的目的、技术方案及效果更加清楚、明确,以下对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明一种模拟触摸屏的模拟器实现方法,包括步骤:
设置一包括模拟驱动及模拟UI模块的模拟器,所述模拟驱动提供给应用程序第一接口以及提供给模拟UI模块第二接口,所述模拟UI模块接收到模拟动作指令后,通过第二接口写入至模拟驱动,所述应用程序通过所述第一接口从所述模拟驱动中读取模拟动作指令,并根据所述模拟动作指令进行相应的动作,实现对触摸屏的模拟。本发明的模拟器实现方法是为了实现触摸屏相关的操作应用程序能够在软件模拟器上进行调试和开发,从而提高开发效率。
下面结合该模拟器对本发明进行详细的说明。
请参阅图1,图1为本发明一种模拟触摸屏的模拟器的结构框图,如图所示,所述模拟器100包括:
模拟驱动120及模拟UI模块110,所述模拟驱动120用于提供给应用程序130第一接口以及提供给模拟UI模块110第二接口,所述模拟UI模块110将接收到的模拟动作指令通过第二接口写入至模拟驱动120,所述应用程序130通过所述第一接口从所述模拟驱动120中读取模拟动作指令,并根据所述模拟动作指令进行相应的动作,实现对触摸屏的模拟。
在本发明中,所述的第一接口与真实硬件上的接口的软件功能是一致的,所述第一接口是根据实际开发的软件来制定的,只要第一接口保持与实际硬件的接口一致,那么如果应用程序能运行在模拟器上,同样应用程序也能运行在实际的硬件上,从而实现模拟的功能。触摸屏作为电子设备的输入设备的一种,整体上来说提供给应用程序标准的字符设备接口即可,所以,模拟器上提供给应用程序的第一接口也需要是标准的字符设备接口。
而本发明中的第二接口则是可以根据需要进行修改的,原来驱动与硬件的连接以及沟通变为了模拟驱动与模拟UI模块的连接以及沟通,所以模拟驱动需要提供额外的接口给模拟UI模块,使模拟UI模块能够模拟出与实际硬件相似的效果。
在本发明中,模拟触摸屏的模拟UI模块110与实际触摸屏的主要区别在于,本发明的模拟UI模块110是通过处理鼠标的动作事件来模拟触摸屏的触摸事件,而触摸屏是直接处理用户的触摸事件,这主要是因为模拟器100是运行于计算机上的,普通计算机上的显示屏无法实现触摸功能,而计算机上连接的鼠标则可以完成类似触摸屏的触摸事件,所以本发明中采用鼠标的动作事件来代替触摸屏的触摸事件,利用鼠标来接收用户输入的模拟动作指令并转换为鼠标的动作事件,模拟UI模块110只要能获取鼠标的动作事件,并将该点击事件转换成触摸屏的触摸事件写入到模拟驱动120中,即可达到模拟触摸屏的目的。
在本发明的模拟UI模块110以及模拟驱动120中都定义了一数据结构,用于保存模拟触摸时鼠标动作的坐标信息:
truct ts_event{
unsigned short pressure; // 鼠标的状态:点击或释放
unsigned short x; // 鼠标动作(点击、释放或滑动)的x坐标值
unsigned short y; // 鼠标动作(点击、释放或滑动)的y坐标值
} ;
具体来说,本发明中的模拟驱动120提供的接口包括用于打开触摸屏的设备打开接口,如open();用于关闭触摸屏的设备关闭接口,如close();用于获取鼠标动作事件的坐标信息的坐标信息获取接口,如read();用于写入鼠标动作事件的坐标信息的坐标信息写入接口,ioctl();其中的设备打开接口打开的设备为/dev/ts,方式为只读,坐标信息获取接口返回一个新的坐标点,其数据结构为前述的数据结构struct ts_event,而坐标信息写入接口其数据为SET_TS_EVENT(值为0):保存鼠标动作的数据结构,ioctl的第3个参数的类型为保存鼠标动作的ts_event,即坐标信息。
上述的接口一部分是提供给应用程序130使用即第一接口,例如设备打开接口、设备关闭接口、坐标信息获取接口,一部分是提供给模拟UI模块110使用即第二接口,例如坐标信息写入接口。
模拟UI模块捕捉到鼠标的动作事件后,将表示鼠标动作事件的数据结构通过坐标信息写入接口ioctl()写入到模拟驱动的相应数据结构中,从而使模拟驱动能够识别相应的动作事件。
在本发明的模拟UI模块110中,其实现文件主要包括ts.cpp、ts.h。
在文件ts.cpp中安装了事件过滤器,用来捕捉鼠标的动作事件,相应的代码如下:
(过滤对象)->installEventFilter(this); // 安装事件过滤器
当事件过滤器捕捉到鼠标的动作事件之后,就会进入动作事件过滤函数 (QObject *o, QEvent *e)中执行相应的操作,即将鼠标的动作时间存储到已定义的数据结构中,然后通过坐标信息写入接口将该数据结构写入模拟驱动中相应的数据结构:
ioctl(m_TouchScreenFd, SET_TS_EVENT, &Data);
而ts.h为触摸屏驱动头文件,具体的内容可参考现有技术中的触摸屏设备驱动头文件。
综上所述,本发明模拟触摸屏的模拟器实现方法及该模拟器,通过设置模拟驱动及模拟UI模块,由该模拟驱动用于提供给应用程序第一接口以及提供给模拟UI模块第二接口,应用程序从该模拟驱动中读取模拟动作指令,并根据所述模拟动作指令进行相应的动作,实现对触摸屏的模拟。通过本发明的模拟器,应用程序的开发人员可以独立于实际的触摸屏来进行软件开发,操作起来非常方便,并且模拟效果逼真,只需要保证第一接口与真实硬件中的第一接口的软件功能一致,即可保证应用程序在真实的触摸屏中也可实现,所以本发明的模拟器即使被真实硬件替换,该模拟器与真实硬件的差别也可忽略,使得开发后的应用程序不需要在后期进行修改,从而提高了应用程序的开发效率。
应当理解的是,本发明的应用不限于上述的举例,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,所有这些改进和变换都应属于本发明所附权利要求的保护范围。
Claims (7)
1.一种模拟触摸屏的模拟器实现方法,其特征在于,包括步骤:
设置一包括模拟驱动及模拟UI模块的模拟器,所述模拟驱动提供给应用程序第一接口以及提供给模拟UI模块第二接口,所述模拟UI模块接收到模拟动作指令后,通过第二接口写入至模拟驱动,所述应用程序通过所述第一接口从所述模拟驱动中读取模拟动作指令,并根据所述模拟动作指令进行相应的动作,实现对触摸屏的模拟。
2.一种采用如权利要求1所述的实现方法模拟触摸屏的模拟器,其特征在于,所述模拟器包括模拟驱动及模拟UI模块,所述模拟驱动用于提供给应用程序第一接口以及提供给模拟UI模块第二接口,所述模拟UI模块将接收到的模拟动作指令通过第二接口写入至模拟驱动,所述应用程序通过所述第一接口从所述模拟驱动中读取模拟动作指令,并根据所述模拟动作指令进行相应的动作,实现对触摸屏的模拟。
3.根据权利要求2所述模拟触摸屏的模拟器,其特征在于,所述模拟UI模块包括一用于接收用户输入的模拟动作指令的鼠标。
4.根据权利要求3所述模拟触摸屏的模拟器,其特征在于,所述模拟驱动以及模拟UI模块均定义了用于保存鼠标的动作事件的坐标信息的数据结构。
5.根据权利要求4所述模拟触摸屏的模拟器,其特征在于,所述动作事件包括点击、释放以及滑动事件。
6.根据权利要求4所述模拟触摸屏的模拟器,其特征在于,所述第二接口包括用于将鼠标的动作事件的坐标信息写入至模拟驱动的坐标信息写入接口。
7.根据权利要求3所述模拟触摸屏的模拟器,其特征在于,所述模拟UI模块设置有捕捉鼠标的动作事件的事件过滤器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210423347.8A CN102929688B (zh) | 2012-10-30 | 2012-10-30 | 一种模拟触摸屏的模拟器实现方法及该模拟器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210423347.8A CN102929688B (zh) | 2012-10-30 | 2012-10-30 | 一种模拟触摸屏的模拟器实现方法及该模拟器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102929688A true CN102929688A (zh) | 2013-02-13 |
CN102929688B CN102929688B (zh) | 2016-06-15 |
Family
ID=47644498
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210423347.8A Active CN102929688B (zh) | 2012-10-30 | 2012-10-30 | 一种模拟触摸屏的模拟器实现方法及该模拟器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102929688B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104156310A (zh) * | 2014-07-31 | 2014-11-19 | Tcl通讯(宁波)有限公司 | 一种在移动终端中模拟lcd显示的模拟器及实现方法 |
CN105487655A (zh) * | 2015-11-23 | 2016-04-13 | 联想(北京)有限公司 | 信息处理方法及相关电子设备 |
CN106155766A (zh) * | 2016-06-29 | 2016-11-23 | 广州大彩光电科技有限公司 | 一种虚拟串口屏模拟系统及其模拟方法 |
CN106897387A (zh) * | 2017-01-23 | 2017-06-27 | 北京思特奇信息技术股份有限公司 | 基于动作模拟的业务探测方法 |
CN109407823A (zh) * | 2018-08-16 | 2019-03-01 | 上海飞智电子科技有限公司 | 电子装置以及触控系统 |
CN111880680A (zh) * | 2020-06-24 | 2020-11-03 | 广州四为电子科技有限公司 | 一种触摸屏模拟调试方法、系统、装置及存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1489104A (zh) * | 2002-10-09 | 2004-04-14 | 财团法人资讯工业策进会 | 弹性化系统模拟架构及其介面 |
CN101833469A (zh) * | 2009-12-22 | 2010-09-15 | 福建新大陆通信科技有限公司 | 一种机顶盒应用功能仿真开发的方法和装置 |
-
2012
- 2012-10-30 CN CN201210423347.8A patent/CN102929688B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1489104A (zh) * | 2002-10-09 | 2004-04-14 | 财团法人资讯工业策进会 | 弹性化系统模拟架构及其介面 |
CN101833469A (zh) * | 2009-12-22 | 2010-09-15 | 福建新大陆通信科技有限公司 | 一种机顶盒应用功能仿真开发的方法和装置 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104156310A (zh) * | 2014-07-31 | 2014-11-19 | Tcl通讯(宁波)有限公司 | 一种在移动终端中模拟lcd显示的模拟器及实现方法 |
CN105487655A (zh) * | 2015-11-23 | 2016-04-13 | 联想(北京)有限公司 | 信息处理方法及相关电子设备 |
CN106155766A (zh) * | 2016-06-29 | 2016-11-23 | 广州大彩光电科技有限公司 | 一种虚拟串口屏模拟系统及其模拟方法 |
CN106897387A (zh) * | 2017-01-23 | 2017-06-27 | 北京思特奇信息技术股份有限公司 | 基于动作模拟的业务探测方法 |
CN109407823A (zh) * | 2018-08-16 | 2019-03-01 | 上海飞智电子科技有限公司 | 电子装置以及触控系统 |
CN109407823B (zh) * | 2018-08-16 | 2020-10-20 | 上海飞智电子科技有限公司 | 电子装置以及触控系统 |
CN111880680A (zh) * | 2020-06-24 | 2020-11-03 | 广州四为电子科技有限公司 | 一种触摸屏模拟调试方法、系统、装置及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN102929688B (zh) | 2016-06-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5599400B2 (ja) | 画像センサベースのヒューマンマシンインタフェースを提供する方法システムおよびソフトウェア | |
CN102053911A (zh) | 基于Android的自动化测试方法、系统及移动终端 | |
CN102221974B (zh) | 指示笔设置 | |
CN102929688A (zh) | 一种模拟触摸屏的模拟器实现方法及该模拟器 | |
CN103312850B (zh) | 一种手机自动化测试系统及工作方法 | |
CN108664380B (zh) | 一种带性能显示的执行后软件调试系统及调试方法 | |
CN103744787A (zh) | 一种手机自动化测试方法 | |
CN101060372A (zh) | 一种快速生成自动化测试脚本的方法及系统 | |
CN102841789A (zh) | 一种对浏览器中的用户操作进行录制和回放的方法和装置 | |
CN106844181B (zh) | 用于记录用户行为的方法、系统及移动终端 | |
CN109933521A (zh) | 基于bdd的自动化测试方法、装置、计算机设备及存储介质 | |
CN102521118A (zh) | 一种Android程序的自动测试方法 | |
US20170322637A1 (en) | Mouse action capture and replay system and method, recording medium, and program product | |
Wang et al. | Automatic Android GUI traversal with high coverage | |
CN107203432A (zh) | 一种远程控制安卓设备的方法和系统 | |
US9286426B2 (en) | Method and apparatus for testing | |
CN111338925A (zh) | 小程序测试方法及装置、系统、电子设备和存储介质 | |
US9104799B2 (en) | Debugging a graphical user interface code script with non-intrusive overlays | |
CN100474254C (zh) | 手机仿真系统及其方法 | |
CN108090355A (zh) | 一种apk自动触发工具 | |
CN104820638A (zh) | 一种嵌入式的整机自动测试方法 | |
CN109144844A (zh) | 追踪方法、装置、设备和机器可读介质 | |
CN102999373A (zh) | 一种模拟按键设备的模拟器及其实现方法 | |
JP2007058813A (ja) | 検証装置及び検証方法 | |
CN103544007A (zh) | 一种模拟机顶盒功能的装置、终端设备及方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |