CN108874620B - 一种应用于app的事件监听方法、装置、设备及存储介质 - Google Patents
一种应用于app的事件监听方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN108874620B CN108874620B CN201810504142.XA CN201810504142A CN108874620B CN 108874620 B CN108874620 B CN 108874620B CN 201810504142 A CN201810504142 A CN 201810504142A CN 108874620 B CN108874620 B CN 108874620B
- Authority
- CN
- China
- Prior art keywords
- event
- native
- component
- identification value
- native system
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3051—Monitoring arrangements for monitoring the configuration of the computing system or of the computing system component, e.g. monitoring the presence of processing resources, peripherals, I/O links, software programs
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了一种应用于APP的事件监听方法、装置、设备及存储介质,其中,该方法包括:在通过第一脚本语言组件注册原生系统的事件监听时,通过第一脚本语言组件生成与原生系统的事件对应的标识值;通过第一脚本语言组件将标识值发送至原生组件,原生组件注册于原生系统;在通过原生组件监听到原生系统的事件被触发时,第一脚本语言组件依据原生组件反馈的标识值调用对应的功能函数;本发明的方法、装置、设备及存储介质,在原生系统中的事件被触发时,通过将该事件的标识值反馈至第一脚本语言组件,从而调用与该事件的功能函数以响应该被触发的事件,也就实现了第一脚本语言组件对原生系统中的事件是否被触发进行了监听。
Description
技术领域
本发明涉及互联网技术领域,尤其涉及一种应用于APP(Application,应用软件)的事件监听方法、装置、设备及存储介质。
背景技术
在应用软件的动态开发过程中,开发人员需要对原生组件产生的各种事件进行相应处理,以便完成用户与设备之间的人机交互,提升用户的产品体验。而且,对于通过非原生语言开发的应用软件,则需要实现将原生组件的事件映射到实际开发语言环境,以从实际开发语言环境中获取非原生语言方法完成相应处理。
而且,在现有技术中,主要是通过原生逻辑和非原生逻辑的交互来实现非原生组件对各种原生组件的事件进行相应处理。具体的,原生逻辑需要按照预先设定的协议将实际开发语言环境中的非原生语言方法的方法名硬编码到对应的原生逻辑中。所以,在原生组件的事件被触发时,非原生组件只能依据该方法名对原生组件的事件进行监听,以调用对应的非原生语言方法。
但是,如果该非原生语言方法的方法名改变时,则在原生组件的事件被触发时,非原生逻辑无法依据已硬编码的方法名对原生组件的事件进行监听以调用对应的非原生语言方法。
发明内容
本发明的主要目的在于提出一种应用于APP的事件监听方法、装置、设备及存储介质,其克服了现有技术中无法通过非原生组件对原生组件的事件进行准确监听的问题。
根据本发明的第一个方面,提供了一种应用于APP的事件监听方法,应用于基于混合开发模式所开发的应用程序,所述方法包括:
在通过第一脚本语言组件注册原生系统的事件监听时,通过所述第一脚本语言组件生成与所述原生系统的事件对应的标识值,所述标识值与所述第一脚本语言组件中的功能函数一一对应;通过所述第一脚本语言组件将所述标识值发送至原生组件,所述原生组件注册于所述原生系统;在通过所述原生组件监听到所述原生系统的事件被触发时,通过所述原生组件将与所述原生系统的事件对应的标识值反馈至所述第一脚本语言组件,以供所述第一脚本语言组件依据反馈的标识值调用对应的功能函数。
可选的,在与所述原生系统的事件对应的标识值之后,且在将所述标识值发送至原生组件之前,所述方法还包括:
将所述标识值及对应的功能函数以预设索引模式进行存储。
可选的,所述预设索引模式包括:键-值对存储系统模式key-value。
可选的,基于数据传输通道,通过所述第一脚本语言组件将所述标识值发送至原生组件。
可选的,所述原生组件包括事件监听器。
可选的,所述第一脚本语言组件具体为:在混合开发模式下,与原生系统中用于监听所述原生系统的事件的组件所实现的功能相对应的非原生组件。
根据本发明的第二个方面,提供了一种应用于APP的事件监听装置,包含于基于混合开发模式所开发的应用程序中,所述装置包括:生成模块,用于在通过第一脚本语言组件注册原生系统的事件监听时,通过所述第一脚本语言组件生成与所述原生系统的事件对应的标识值,所述标识值与所述第一脚本语言组件中的功能函数一一对应;传送模块,用于通过所述第一脚本语言组件将所述标识值发送至原生组件,所述原生组件注册于所述原生系统;反馈模块,用于在通过所述原生组件监听到所述原生系统的事件被触发时,通过所述原生组件将与所述原生系统的事件对应的标识值反馈至所述第一脚本语言组件,以供所述第一脚本语言组件依据反馈的标识值调用对应的功能函数。
可选的,所述装置还包括:存储模块,用于在与所述原生系统的事件对应的标识值之后,且在将所述标识值发送至原生组件之前,将所述标识值及对应的功能函数以预设索引模式进行存储。
可选的,所述预设索引模式包括:键-值对存储系统模式key-value。
可选的,所述传送模块具体用于:基于数据传输通道,通过所述第一脚本语言组件将所述标识值发送至原生组件。
可选的,所述原生组件包括事件监听器。
可选的,所述第一脚本语言组件具体为:在混合开发模式下,与原生系统中用于监听所述原生系统的事件的组件所实现的功能相对应的非原生组件。
根据本发明的第三个方面,提供了一种电子设备,包括处理器和存储器;所述存储器用于存储计算机指令,所述处理器用于运行所述存储器存储的计算机指令,以实现上述的应用于APP的事件监听方法。
根据本发明的第四个方面,提供了一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现上述的应用于APP的事件监听方法。
本发明有益效果如下:在原生系统中的事件被触发时,通过将该事件的标识值反馈至第一脚本语言组件,即可使得第一脚本语言组件可以获知原生系统中的该事件已被触发,从而调用与该事件的功能函数以响应该被触发的事件,也就实现了第一脚本语言组件对原生系统中的事件是否被触发进行了监听。在第一脚本语言组件为非原生组件时,也就实现了通过非原生组件对原生系统中的事件的触发进行了监听。
附图说明
图1为本发明第一实施例一种应用于APP的事件监听方法的流程框图;
图2为本发明第二实施例一种应用于APP的事件监听方法的流程框图;
图3为本发明第三实施例一种应用于APP的事件监听方法的流程框图;
图4为本发明第四实施例一种应用于APP的事件监听方法的流程框图;
图5为本发明第五实施例一种应用于APP的事件监听方法的流程框图;
图6为本发明第六实施例一种应用于APP的事件监听方法的流程框图;
图7为本发明第七实施例一种应用于APP的事件监听装置的结构示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
在后续的描述中,使用用于表示元件的诸如“模块”、“部件”或“单元”的后缀仅为了有利于本发明的说明,其本身没有特定的意义。因此,“模块”、“部件”或“单元”可以混合地使用。
应当理解的是,虽然在这里可能使用了术语“第一”、“第二”等等来描述各个单元,但是这些单元不应当受这些术语限制。使用这些术语仅仅是为了将一个单元与另一个单元进行区分。举例来说,在不背离示例性实施例的范围的情况下,第一单元可以被称为第二单元,并且类似地第二单元可以被称为第一单元。这里所使用的术语“和/或”包括其中一个或更多所列出的相关联项目的任意和所有组合。
应当理解的是,当一个单元被称为“连接”或“耦合”到另一单元时,其可以直接连接或耦合到所述另一单元,或者可以存在中间单元。与此相对,当一个单元被称为“直接连接”或“直接耦合”到另一单元时,则不存在中间单元。应当按照类似的方式来解释被用于描述单元之间的关系的其他词语(例如“处于...之间”相比于“直接处于...之间”,“与...邻近”相比于“与...直接邻近”等等)。
为了便于理解本发明实施例,下面通过几个具体实施例对本发明的实施过程进行详细的阐述。
本发明第一实施例提供一种应用于APP的事件监听方法,其应用于基于混合开发模式所开发的应用程序,所述方法包括:
在通过第一脚本语言组件注册原生系统的事件监听时,通过所述第一脚本语言组件生成与所述监听事件对应的标识值,所述标识值与所述第一脚本语言组件中的功能函数一一对应;通过所述第一脚本语言组件将所述标识值发送至原生组件,所述原生组件注册于所述原生系统;在监听到所述原生系统的事件被触发时,通过所述原生组件将所述事件对应的标识值反馈至所述第一脚本语言组件,以供所述第一脚本语言组件依据反馈的标识值调用对应的功能函数。
就此,在原生系统中的事件被触发时,通过将该事件的标识值反馈至第一脚本语言组件,即可使得第一脚本语言组件可以获知原生系统中的该事件已被触发,从而调用与该事件的功能函数以响应该被触发的事件,也就实现了第一脚本语言组件对原生系统中的事件是否被触发进行了监听。在第一脚本语言组件为非原生组件时,也就实现了通过非原生组件对原生系统中的事件的触发进行了监听。
图1为本发明第一实施例一种应用于APP的事件监听方法的流程框图。根据图1所示,本发明第一实施例提供了一种应用于APP的事件监听方法,应用于基于混合开发模式所开发的应用程序,所述方法包括:
S11:在通过第一脚本语言组件注册原生系统的事件监听时,通过所述第一脚本语言组件生成与所述原生系统的事件对应的标识值,所述标识值与所述第一脚本语言组件中的功能函数一一对应;
其中,该标识值对与其对应的功能函数进行唯一性标识,在本实施例中,并不对其具体形式及内容作出限定,只需其满足本发明实施例的要求即可。如:标识值包括但不限于:数值、名称或字符串。
此外,在本实施例中,该第一脚本语言可为非原生语言,如:其可为直译式脚本语言JavaScript。当然,在本实施例中,该第一脚本语言也可为原生脚本语言,如:其可为JAVA语言。在本实施例中,并不对该第一脚本语言的语言种类进行限定,只需其满足本实施例的要求即可。
S12:通过所述第一脚本语言组件将所述标识值发送至原生组件,所述原生组件注册于所述原生系统;
在本实施例中,应用程序通过所述第一脚本语言组件将所述标识值发送至原生组件,所述原生组件注册于所述原生系统。从而,实现了第一脚本语言组件将标识值传送至原生系统中。
S13:在通过所述原生组件监听到所述原生系统的事件被触发时,通过所述原生组件将与所述原生系统的事件对应的标识值反馈至所述第一脚本语言组件,以供所述第一脚本语言组件依据反馈的标识值调用对应的功能函数。
其中,该原生组件是通过原生系统中已封装好的相应逻辑数据开发的组件,该原生组件用于对原生系统的事件是否被触发进行监测,从而,该原生组件实现了对应用程序的相应功能是否被执行进行监测,因为应用程序的相应功能被执行即导致该功能所属的事件被触发,在本实施例中,该原生组件的相应逻辑数据是重新继承过的逻辑数据。
具体的,由该原生组件对原生系统的事件是否被触发进行监测。在该原生组件监测到事件被触发时,应用程序通过该原生组件将所述事件对应的标识值反馈至所述第一脚本语言组件,而第一脚本语言组件即可依据该反馈的标识值调用对应的功能函数。如:当用户启动该应用程序时,则该应用程序的启动功能被执行,则该启动功能所属的事件被触发,而该事件所对应的标识值则被反馈至第一脚本语言组件,第一脚本语言组件即可依据该反馈的标识值调用对应的功能函数以进行相应处理工作。
就此,在原生系统中的事件被触发时,通过将该事件的标识值反馈至第一脚本语言组件,即可使得第一脚本语言组件可以获知原生系统中的该事件已被触发,从而调用与该事件的功能函数以响应该被触发的事件,也就实现了第一脚本语言组件对原生系统中的事件是否被触发进行了监听。在第一脚本语言组件为非原生组件时,也就实现了通过非原生组件对原生系统中的事件的触发进行了监听。
图2为本发明第二实施例一种应用于APP的事件监听方法的流程框图。根据图2所示,本发明第二实施例提供了一种应用于APP的事件监听方法,应用于基于混合开发模式所开发的应用程序,所述方法包括:
S21:在通过第一脚本语言组件注册原生系统的事件监听时,通过所述第一脚本语言组件生成与所述原生系统的事件对应的标识值,所述标识值与所述第一脚本语言组件中的功能函数一一对应;
S22:将所述标识值及对应的功能函数以预设索引模式进行存储;
可选的,所述预设索引模式包括:键-值对存储系统模式key-value。
S23:通过所述第一脚本语言组件将所述标识值发送至原生组件,所述原生组件注册于所述原生系统;
在本实施例中,应用程序通过所述第一脚本语言组件将所述标识值发送至原生组件,所述原生组件注册于所述原生系统。从而,实现了第一脚本语言组件将标识值传送至原生系统中。
S24:在通过所述原生组件监听到所述原生系统的事件被触发时,通过所述原生组件将与所述原生系统的事件对应的标识值反馈至所述第一脚本语言组件,以供所述第一脚本语言组件依据反馈的标识值调用对应的功能函数。
就此,在原生系统中的事件被触发时,通过将该事件的标识值反馈至第一脚本语言组件,即可使得第一脚本语言组件可以获知原生系统中的该事件已被触发,从而调用与该事件的功能函数以响应该被触发的事件,也就实现了第一脚本语言组件对原生系统中的事件是否被触发进行了监听。在第一脚本语言组件为非原生组件时,也就实现了通过非原生组件对原生系统中的事件的触发进行了监听。
图3为本发明第三实施例一种应用于APP的事件监听方法的流程框图。根据图3所示,本发明第三实施例提供了一种应用于APP的事件监听方法,应用于基于混合开发模式所开发的应用程序,所述方法包括:
S31:在通过第一脚本语言组件注册原生系统的事件监听时,通过所述第一脚本语言组件生成与所述原生系统的事件对应的标识值,所述标识值与所述第一脚本语言组件中的功能函数一一对应;
S32:将所述标识值及对应的功能函数以预设索引模式进行存储;
可选的,所述预设索引模式包括:键-值对存储系统模式key-value。
S33:基于数据传输通道,通过所述第一脚本语言组件将所述标识值发送至原生组件,所述原生组件注册于所述原生系统;
具体的,在混合开发模式下,所述第一脚本语言组件通过所述数据传输通道与所述原生组件进行交互。
在本实施例中,第一脚本语言组件与原生组件通过数据传输通道进行交互。
具体的,该数据传输通道包括第一脚本语言协议层及原生协议层。在第一脚本语言组件将该标识值发送至原生组件时,第一脚本语言组件将该标识值传输到第一脚本语言协议层,然后,通过第一脚本语言协议层将该标识值传输到原生协议层,原生协议层再将该标识值传送至原生组件。
从而,实现了第一脚本语言组件将标识值传送至原生系统中。
S34:在通过所述原生组件监听到所述原生系统的事件被触发时,通过所述原生组件将与所述原生系统的事件对应的标识值反馈至所述第一脚本语言组件,以供所述第一脚本语言组件依据反馈的标识值调用对应的功能函数。
当然,该由原生组件反馈至第二脚本语言组件的标识值也是通过该数据传输通道被传输到第二脚本语言组件中。
就此,在原生系统中的事件被触发时,通过将该事件的标识值反馈至第一脚本语言组件,即可使得第一脚本语言组件可以获知原生系统中的该事件已被触发,从而调用与该事件的功能函数以响应该被触发的事件,也就实现了第一脚本语言组件对原生系统中的事件是否被触发进行了监听。在第一脚本语言组件为非原生组件时,也就实现了通过非原生组件对原生系统中的事件的触发进行了监听。
图4为本发明第四实施例一种应用于APP的事件监听方法的流程框图。根据图4所示,本发明第四实施例提供了一种应用于APP的事件监听方法,应用于基于混合开发模式所开发的应用程序,所述方法包括:
S41:在通过第一脚本语言组件注册原生系统的事件监听时,通过所述第一脚本语言组件生成与所述原生系统的事件对应的标识值,所述标识值与所述第一脚本语言组件中的功能函数一一对应;
S42:将所述标识值及对应的功能函数以预设索引模式进行存储;
可选的,所述预设索引模式包括:键-值对存储系统模式key-value。
S43:基于数据传输通道,通过所述第一脚本语言组件将所述标识值发送至事件监听器,所述事件监听器注册于所述原生系统;
具体的,在混合开发模式下,所述第一脚本语言组件通过所述数据传输通道与所述事件监听器进行交互。
在本实施例中,第一脚本语言组件与事件监听器通过数据传输通道进行交互。
具体的,该数据传输通道包括第一脚本语言协议层及原生协议层。在第一脚本语言组件将该标识值发送至事件监听器时,第一脚本语言组件将该标识值传输到第一脚本语言协议层,然后,通过第一脚本语言协议层将该标识值传输到原生协议层,原生协议层再将该标识值传送至事件监听器。
从而,实现了第一脚本语言组件将标识值传送至原生系统中。
S44:在通过所述事件监听器监听到所述原生系统的事件被触发时,通过所述事件监听器将与所述原生系统的事件对应的标识值反馈至所述第一脚本语言组件,以供所述第一脚本语言组件依据反馈的标识值调用对应的功能函数。
当然,该由事件监听器反馈至第二脚本语言组件的标识值也是通过该数据传输通道被传输到第二脚本语言组件中。
具体的,在本实施例中,在事件监听器收到来自第一脚本语言组件的标识值后,对标识值进行封装,使得在事件监听器监测到事件被触发时,基于事件监听器精确的确定该被触发事件所对应的标识值,从而应用程序可以通过原生组件精确的将封装后的所述事件对应的标识值反馈至所述第一脚本语言组件。
其中,原生组件是通过原生系统中已封装好的相应逻辑数据开发的组件,事件监听器为一个原生组件,所以,该事件监听器用于对原生系统的事件是否被触发进行监测。即:该事件监听器用于对应用程序的相应功能是否被执行进行监测,因为应用程序的相应功能被执行即导致该功能所属的事件被触发,而且,该事件监听器为自定义的事件监听器。此外,在本实施例中,上述开发事件监听器的相应逻辑数据是重新继承过的逻辑数据。
具体的,由事件监听器对原生系统的事件是否被触发进行监测。在事件监听器监测到事件被触发时,应用程序通过原生组件将所述事件对应的标识值反馈至所述第一脚本语言组件,当然,该反馈的标识值也是通过上述的数据传输通道被传输到第二脚本语言组件中的,而第一脚本语言组件即可依据该反馈的标识值调用对应的功能函数。如:当用户启动该应用程序时,则该应用程序的启动功能被执行,则该启动功能所属的事件被触发,而该事件所对应的标识值则被反馈至第一脚本语言组件,第一脚本语言组件即可依据该反馈的标识值调用对应的功能函数以进行相应处理工作。
就此,在原生系统中的事件被触发时,通过将该事件的标识值反馈至第一脚本语言组件,即可使得第一脚本语言组件可以获知原生系统中的该事件已被触发,从而调用与该事件的功能函数以响应该被触发的事件,也就实现了第一脚本语言组件对原生系统中的事件是否被触发进行了监听。在第一脚本语言组件为非原生组件时,也就实现了通过非原生组件对原生系统中的事件的触发进行了监听。
图5为本发明第五实施例一种应用于APP的事件监听方法的流程框图。根据图5所示,本发明第五实施例提供了一种应用于APP的事件监听方法,应用于基于混合开发模式所开发的应用程序,所述方法包括:
S51:在通过第一脚本语言组件注册原生系统的事件监听时,通过所述第一脚本语言组件生成与所述原生系统的事件对应的标识值,所述标识值与所述第一脚本语言组件中的功能函数一一对应,所述第一脚本语言组件具体为:在混合开发模式下,与原生系统中用于监听所述原生系统的事件的组件所实现的功能相对应的非原生组件;
可选的,所述第一脚本语言组件具体为:在混合开发模式下,与原生系统中用于监听所述原生系统的事件的组件所实现的功能相对应的非原生组件。
即:该第一脚本语言为非原生语言,其可为直译式脚本语言JavaScript。而且,在本实施例中,并不对该第一脚本语言的语言种类进行限定,只需其满足本实施例的要求即可。
S52:将所述标识值及对应的功能函数以预设索引模式进行存储;
可选的,所述预设索引模式包括:键-值对存储系统模式key-value。
S53:基于数据传输通道,通过所述第一脚本语言组件将所述标识值发送至事件监听器,所述事件监听器注册于所述原生系统;
具体的,在混合开发模式下,所述第一脚本语言组件通过所述数据传输通道与所述事件监听器进行交互。
在本实施例中,第一脚本语言组件与事件监听器通过数据传输通道进行交互。
具体的,该数据传输通道包括第一脚本语言协议层及原生协议层。在第一脚本语言组件将该标识值发送至事件监听器时,第一脚本语言组件将该标识值传输到第一脚本语言协议层,然后,通过第一脚本语言协议层将该标识值传输到原生协议层,原生协议层再将该标识值传送至事件监听器。
从而,实现了第一脚本语言组件将标识值传送至原生系统中。
S54:在通过所述事件监听器监听到所述原生系统的事件被触发时,通过所述事件监听器将与所述原生系统的事件对应的标识值反馈至所述第一脚本语言组件,以供所述第一脚本语言组件依据反馈的标识值调用对应的功能函数。
当然,该由事件监听器反馈至第二脚本语言组件的标识值也是通过该数据传输通道被传输到第二脚本语言组件中。
具体的,在本实施例中,在事件监听器收到来自第一脚本语言组件的标识值后,对标识值进行封装,使得在事件监听器监测到事件被触发时,基于事件监听器精确的确定该被触发事件所对应的标识值,从而应用程序可以通过原生组件精确的将封装后的所述事件对应的标识值反馈至所述第一脚本语言组件。
其中,原生组件是通过原生系统中已封装好的相应逻辑数据开发的组件,事件监听器为一个原生组件,所以,该事件监听器用于对原生系统的事件是否被触发进行监测。即:该事件监听器用于对应用程序的相应功能是否被执行进行监测,因为应用程序的相应功能被执行即导致该功能所属的事件被触发,而且,该事件监听器为自定义的事件监听器。此外,在本实施例中,上述开发事件监听器的相应逻辑数据是重新继承过的逻辑数据。
就此,在原生系统中的事件被触发时,通过将该事件的标识值反馈至第一脚本语言组件,即可使得第一脚本语言组件可以获知原生系统中的该事件已被触发,从而调用与该事件的功能函数以响应该被触发的事件,也就实现了第一脚本语言组件对原生系统中的事件是否被触发进行了监听。在第一脚本语言组件为非原生组件时,也就实现了通过非原生组件对原生系统中的事件的触发进行了监听。此外,应用程序可以通过该第一脚本语言组件与事件监听器进行标识值的交互以完成对该应用程序的事件是否被触发而进行监听。而且,通过该第一脚本语言为非原生语言增加了该第一脚本语言组件的开发途径,也易于扩展和推广。
为了更好说明本实施例所述方法的实施过程,下面结合一个具体应用示例,对本实施例所述方法进行说明。
图6为本发明第六实施例一种应用于APP的事件监听方法的流程框图。根据图6所示,本发明第六实施例提供了一种应用于APP的事件监听方法,应用于基于混合开发模式所开发的应用程序,所述方法包括:
1、应用程序在通过JavaScript侧注册原生系统的事件监听时,JavaScript侧基于自身的逻辑层生成与该被监听事件对应的key值,该key值与JavaScript侧中用于响应该事件监听的回调函数一一对应,其中,该key值相当于本发明第一至五实施例中的标识值,该回调函数相当于本发明第一至五实施例中的功能函数,该JavaScript侧相当于本发明第一至五实施例中的第一脚本语言组件;
2、应用程序将该相互对应的key值及回调函数以key-value模式进行存储,该key-value模式相当于本发明第一至五实施例中的键-值对存储系统模式key-value;
3、应用程序通过JavaScript侧与原生系统侧的传输协议将key值从JavaScript侧传送至原生环境中,其中,该传输协议包括JavaScript协议层及原生协议层;
4、应用程序将JavaScript侧传过来的JavaScript侧封装到事件监听器DUListennerInterface;
5、在原生环境中,应用程序使用该自定义的事件监听器DUListennerInterface监听被触发的原生事件Event;
6、在事件监听器DUListennerInterface监听到原生事件Event被触发时,应用程序通过该事件监听器DUListennerInterface将与该原生事件Event对应key值经传输协议回传到JavaScript侧;
7、基于JavaScript侧的逻辑层,应用程序通过JavaScript侧根据回传的key值找到对应的回调函数,并调用该回调函数,以完成整个监听过程。
图7为本发明第七实施例一种应用于APP的事件监听装置的结构示意图。根据图7所示,本发明第七实施例提供了一种应用于APP的事件监听装置,包含于基于混合开发模式所开发的应用程序中,所述装置包括:
生成模块110,用于在通过第一脚本语言组件注册原生系统的事件监听时,通过所述第一脚本语言组件生成与所述原生系统的事件对应的标识值,所述标识值与所述第一脚本语言组件中的功能函数一一对应;
传送模块120,用于通过所述第一脚本语言组件将所述标识值发送至原生组件,所述原生组件注册于所述原生系统;
反馈模块130,用于在通过所述原生组件监听到所述原生系统的事件被触发时,通过所述原生组件将与所述原生系统的事件对应的标识值反馈至所述第一脚本语言组件,以供所述第一脚本语言组件依据反馈的标识值调用对应的功能函数。
可选的,所述装置还包括:存储模块111,用于在与所述原生系统的事件对应的标识值之后,且在将所述标识值发送至原生组件之前,将所述标识值及对应的功能函数以预设索引模式进行存储。
可选的,所述预设索引模式包括:键-值对存储系统模式key-value。
可选的,所述传送模块具体用于:基于数据传输通道,通过所述第一脚本语言组件将所述标识值发送至原生组件。
可选的,所述原生组件包括事件监听器。
可选的,所述第一脚本语言组件具体为:在混合开发模式下,与原生系统中用于监听所述原生系统的事件的组件所实现的功能相对应的非原生组件。
本发明第八实施例提供了一种计算机设备,包括处理器和存储器;所述存储器用于存储计算机指令,所述处理器用于运行所述存储器存储的计算机指令,以实现上述的一种应用于APP的事件监听方法。
本发明第八实施例中的一种计算机设备所涉及的名词及实现原理具体可以参照本发明实施例中的第一至六实施例的一种应用于APP的事件监听方法,在此不再赘述。
本发明第九实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个模块,所述一个或者多个模块可被一个或者多个处理器执行,以实现上述的一种应用于APP的事件监听方法。
本发明第九实施例中的一种计算机可读存储介质所涉及的名词及实现原理具体可以参照本发明实施例中的第一至六实施例的一种应用于APP的事件监听方法,在此不再赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,这些均属于本发明的保护之内。
Claims (12)
1.一种应用于APP的事件监听方法,其特征在于,应用于基于混合开发模式所开发的应用程序,所述方法包括:
在通过第一脚本语言组件注册原生系统的事件监听时,通过所述第一脚本语言组件生成与所述原生系统的事件对应的标识值,所述标识值与所述第一脚本语言组件中的功能函数一一对应;
通过所述第一脚本语言组件将所述标识值发送至原生组件,所述原生组件注册于所述原生系统;
在通过所述原生组件监听到所述原生系统的事件被触发时,通过所述原生组件将与所述原生系统的事件对应的标识值反馈至所述第一脚本语言组件,以供所述第一脚本语言组件依据反馈的标识值调用对应的功能函数;
所述第一脚本语言组件具体为:在混合开发模式下,与原生系统中用于监听所述原生系统的事件的组件所实现的功能相对应的非原生组件。
2.根据权利要求1所述的方法,其特征在于,在与所述原生系统的事件对应的标识值之后,且在将所述标识值发送至原生组件之前,所述方法还包括:
将所述标识值及对应的功能函数以预设索引模式进行存储。
3.根据权利要求2所述的方法,其特征在于,所述预设索引模式包括:键-值对存储系统模式key-value。
4.根据权利要求1所述的方法,其特征在于,基于数据传输通道,通过所述第一脚本语言组件将所述标识值发送至原生组件。
5.根据权利要求1所述的方法,其特征在于,所述原生组件包括事件监听器。
6.一种应用于APP的事件响应装置,其特征在于,包含于基于混合开发模式所开发的应用程序中,所述装置包括:
生成模块,用于在通过第一脚本语言组件注册原生系统的事件监听时,通过所述第一脚本语言组件生成与所述原生系统的事件对应的标识值,所述标识值与所述第一脚本语言组件中的功能函数一一对应;
传送模块,用于通过所述第一脚本语言组件将所述标识值发送至原生组件,所述原生组件注册于所述原生系统;
反馈模块,用于在通过所述原生组件监听到所述原生系统的事件被触发时,通过所述原生组件将与所述原生系统的事件对应的标识值反馈至所述第一脚本语言组件,以供所述第一脚本语言组件依据反馈的标识值调用对应的功能函数;
所述第一脚本语言组件具体为:在混合开发模式下,与原生系统中用于监听所述原生系统的事件的组件所实现的功能相对应的非原生组件。
7.根据权利要求6所述的装置,其特征在于,所述装置还包括:
存储模块,用于在与所述原生系统的事件对应的标识值之后,且在将所述标识值发送至原生组件之前,将所述标识值及对应的功能函数以预设索引模式进行存储。
8.根据权利要求7所述的装置,其特征在于,所述预设索引模式包括:键-值对存储系统模式key-value。
9.根据权利要求6所述的装置,其特征在于,所述传送模块具体用于:基于数据传输通道,通过所述第一脚本语言组件将所述标识值发送至原生组件。
10.根据权利要求6所述的装置,其特征在于,所述原生组件包括事件监听器。
11.一种电子设备,其特征在于,包括处理器和存储器;
所述存储器用于存储计算机指令,所述处理器用于运行所述存储器存储的计算机指令,以实现权利要求1至5中任一项所述的应用于APP的事件监听方法。
12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现权利要求1至5中任一项所述的应用于APP的事件监听方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810504142.XA CN108874620B (zh) | 2018-05-23 | 2018-05-23 | 一种应用于app的事件监听方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810504142.XA CN108874620B (zh) | 2018-05-23 | 2018-05-23 | 一种应用于app的事件监听方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108874620A CN108874620A (zh) | 2018-11-23 |
CN108874620B true CN108874620B (zh) | 2021-11-23 |
Family
ID=64332964
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810504142.XA Active CN108874620B (zh) | 2018-05-23 | 2018-05-23 | 一种应用于app的事件监听方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108874620B (zh) |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102831043B (zh) * | 2011-06-17 | 2015-05-20 | 阿里巴巴集团控股有限公司 | 应用程序监控方法和装置 |
WO2013048329A2 (en) * | 2011-09-30 | 2013-04-04 | 13Th Lab | A method for capturing events in front of a camera device |
CN105335283B (zh) * | 2014-08-01 | 2018-07-06 | 阿里巴巴集团控股有限公司 | 终端设备中的应用测试方法及装置 |
CN104317595A (zh) * | 2014-10-28 | 2015-01-28 | 艾普工华科技(武汉)有限公司 | 基于svg的后台推送的组件化图形监控装置及其运行方法 |
US10620972B2 (en) * | 2015-07-16 | 2020-04-14 | Adobe Inc. | Processing touch gestures in hybrid applications |
US20170103009A1 (en) * | 2015-10-13 | 2017-04-13 | Microsoft Technology Licensing, Llc | Monitoring a device status for an application |
CN106844071B (zh) * | 2015-12-04 | 2020-09-22 | 菜鸟智能物流控股有限公司 | 一种获取输入数据的方法和装置 |
CN105739967A (zh) * | 2016-01-19 | 2016-07-06 | 四川长虹电器股份有限公司 | 移动应用中js异步调用native的方法 |
CN106339217B (zh) * | 2016-08-18 | 2019-10-11 | 福建天泉教育科技有限公司 | 基于Unity的事件管理方法及系统 |
CN107704365B (zh) * | 2017-10-10 | 2021-02-02 | 武汉斗鱼网络科技有限公司 | 一种移动端混合应用的监控数据上报方法及装置 |
-
2018
- 2018-05-23 CN CN201810504142.XA patent/CN108874620B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN108874620A (zh) | 2018-11-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11025750B2 (en) | Determining whether to perform requests at a server or at a client device based on resources provided by the client device | |
EP3493057B1 (en) | Method and apparatus for awakening application by means of mobile browser | |
CN104102537B (zh) | 一种应用调用方法及用户终端 | |
CN107729014B (zh) | 一种基于Android的页面跳转方法及结构 | |
US10506400B2 (en) | Data download method and apparatus | |
CN108845800B (zh) | 一种组件扩展功能的实现方法、装置、设备及存储介质 | |
CN107977260B (zh) | 任务提交方法及装置 | |
CN114189393A (zh) | 一种数据处理方法、装置、设备和存储介质 | |
CN111008254B (zh) | 一种对象创建方法、装置、计算机设备和存储介质 | |
CN110874278A (zh) | 外部系统的嵌入方法、工作流系统、设备及存储介质 | |
CN108052401B (zh) | 系统属性监听方法、终端设备及计算机可读存储介质 | |
CN108874620B (zh) | 一种应用于app的事件监听方法、装置、设备及存储介质 | |
CN106095886B (zh) | 一种数据处理方法及其装置 | |
US7908397B1 (en) | Application server gateway technology | |
WO2023070834A1 (zh) | 小程序与网页通信的方法、相关设备及系统 | |
CN114253441B (zh) | 目标功能的启用方法及装置、存储介质、电子装置 | |
CN111338898B (zh) | 应用状态获取方法、装置、电子设备及可读存储介质 | |
CN105763511B (zh) | 一种业务处理方法以及通信系统 | |
CN102799429A (zh) | 一种播放器系统 | |
CN107656741B (zh) | 一种高性能计算环境中使用应用封装的方法及其系统 | |
CN114116111B (zh) | 配置流程节点和数据处理的方法、装置、设备及介质 | |
CN110598155A (zh) | 一种Ajax请求调用方法、装置、计算机设备及存储介质 | |
CN111142860B (zh) | 用于实现接口调用的方法及装置 | |
CN113364614B (zh) | 请求处理方法、装置、服务器、存储介质及程序产品 | |
CN113901377B (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 |