应用事件的处理方法、装置、电子设备及存储介质与流程

文档序号:35538223发布日期:2023-09-23 14:12阅读:20来源:国知局
应用事件的处理方法、装置、电子设备及存储介质与流程

本发明涉及数据处理,特别是涉及一种应用事件的处理方法、一种应用事件的处理装置、一种电子设备以及一种计算机可读存储介质。


背景技术:

1、flutter为开源的构建用户界面的工具包,其可以帮助开发者通过一套代码库高效地构建适用于不同平台的应用界面,支持移动、web、桌面以及嵌入式平台。其中,对于已经上线的应用程序中落地的flutter,开发者往往不会花费大量的精力采用flutter重构整个项目,而是通过将flutter与native进行混编处理,以减少相应的开发成本。

2、其中,对于flutter和native之间的事件处理,当需要增加一个新的事件类型时,则需要增加一个对应的业务类,需要在事件处理器中配置事件类型与业务类之间的引用关系,容易增加应用程序项目开发的负担,同时不同业务类之间的调用涉及大量的参数,提高了项目开发的难度,以及在触发事件的情况下,需要对业务类进行定位,定位过程中由于大量分支(事件类型与业务类之间的引用关系)的存在,使得底层代码的可读性较差,且进一步增加了项目开发的难度。


技术实现思路

1、本发明提供一种应用事件的处理方法、装置、电子设备及计算机可读存储介质,以便在一定程度上解决应用程序项目在开发、维护过程中存在成本高、难度大的问题。

2、依据本发明的第一方面,提供了一种应用事件的处理方法,所述方法包括:

3、响应于针对应用程序的用户操作,获取用户操作对应的目标事件类型;

4、获取所述应用程序中的各个模型对象,每一模型对象配置有入口协议;

5、将所述入口协议与所述目标事件类型进行匹配,根据匹配结果从各个所述模型对象中选择与所述目标事件类型对应的目标模型对象;

6、运行与所述目标模型对象对应的应用功能以响应所述用户操作。

7、可选地,所述响应于针对应用程序的用户操作,获取用户操作对应的目标事件类型,包括:

8、响应于针对应用程序中应用页面的用户操作,通过应用页面的flutter层捕捉所述用户操作触发的应用事件,并向所述应用页面的native层传递所述应用事件;

9、通过所述native层获取所述应用事件的目标事件类型。

10、可选地,所述将所述入口协议与所述目标事件类型进行匹配,根据匹配结果从各个所述模型对象中选择与所述目标事件类型对应的目标模型对象,包括:

11、通过所述native层获取各个所述模型对象的入口协议返回的第一事件类型;

12、通过所述native层将与所述目标事件类型表征为相同事件类型的第一事件类型,作为第二事件类型,并将所述第二事件类型所属的入口协议作为目标入口协议;

13、通过所述native层将所述目标入口协议所属的模型对象作为与所述目标事件类型对应的目标模型对象。

14、可选地,所述入口协议包括事件类型返回方法,所述通过所述native层获取各个所述模型对象的入口协议返回的第一事件类型,包括:

15、通过所述native层执行各个所述入口协议中的事件类型返回方法,获得各个所述模型对象对应的第一事件类型。

16、可选地,所述入口协议包括对象调用方法,所述运行与所述目标模型对象对应的应用功能以响应所述用户操作,包括:

17、通过所述native层执行所述目标入口协议的对象调用方法,获得所述目标模型对象的目标应用参数,并将所述目标应用参数传递至所述flutter层;

18、通过所述flutter层根据所述目标应用参数运行与所述目标模型对象对应的应用功能以响应所述用户操作。

19、可选地,所述模型对象通过如下方式生成:

20、获取应用功能对应的业务类,以及所述业务类的若干个原始应用参数;

21、将相同参数类型的原始应用参数进行合并一标准应用参数,获得与所述业务类对应的若干个标准应用参数,所述标准应用参数的数量小于所述原始参数的数量;

22、将各个所述标准应用参数作为对象属性,基于所述对象属性创建与所述业务类对应的模型对象。

23、可选地,所述标准应用参数至少包括页面类型、事件内容、事件补充参数、视图控制器、回调结果以及事件类型;每一个所述模型对象对应一业务类。

24、依据本发明的第二方面,提供了一种应用事件的处理装置,所述装置包括:

25、事件类型获取模块,用于响应于针对应用程序的用户操作,获取用户操作对应的目标事件类型;

26、对象获取模块,用于获取所述应用程序中的各个模型对象,每一模型对象配置有入口协议;

27、对象匹配模块,用于将所述入口协议与所述目标事件类型进行匹配,根据匹配结果从各个所述模型对象中选择与所述目标事件类型对应的目标模型对象;

28、功能运行模块,用于运行与所述目标模型对象对应的应用功能以响应所述用户操作。

29、可选地,所述事件类型获取模块具体用于:

30、响应于针对应用程序中应用页面的用户操作,通过应用页面的flutter层捕捉所述用户操作触发的应用事件,并向所述应用页面的native层传递所述应用事件;

31、通过所述native层获取所述应用事件的目标事件类型。

32、可选地,所述对象匹配模块具体用于:

33、通过所述native层获取各个所述模型对象的入口协议返回的第一事件类型;

34、通过所述native层将与所述目标事件类型表征为相同事件类型的第一事件类型,作为第二事件类型,并将所述第二事件类型所属的入口协议作为目标入口协议;

35、通过所述native层将所述目标入口协议所属的模型对象作为与所述目标事件类型对应的目标模型对象。

36、可选地,所述入口协议包括事件类型返回方法,所述对象匹配模块具体用于:

37、通过所述native层执行各个所述入口协议中的事件类型返回方法,获得各个所述模型对象对应的第一事件类型。

38、可选地,所述入口协议包括对象调用方法,所述功能运行模块具体用于:

39、通过所述native层执行所述目标入口协议的对象调用方法,获得所述目标模型对象的目标应用参数,并将所述目标应用参数传递至所述flutter层;

40、通过所述flutter层根据所述目标应用参数运行与所述目标模型对象对应的应用功能以响应所述用户操作。

41、可选地,所述模型对象通过如下模块生成:

42、业务类获取模块,用于获取应用功能对应的业务类,以及所述业务类的若干个原始应用参数;

43、参数合并模块,用于将相同参数类型的原始应用参数进行合并一标准应用参数,获得与所述业务类对应的若干个标准应用参数,所述标准应用参数的数量小于所述原始参数的数量;

44、对象创建模块,用于将各个所述标准应用参数作为对象属性,基于所述对象属性创建与所述业务类对应的模型对象。

45、可选地,所述标准应用参数至少包括页面类型、事件内容、事件补充参数、视图控制器、回调结果以及事件类型;每一个所述模型对象对应一业务类。

46、依据本发明的第三方面一种电子设备,包括:

47、一个或多个处理器;和

48、其上存储有指令的一个或多个机器可读介质,当由所述一个或多个处理器执行时,使得所述电子设备执行如第一方面中任一所述的应用事件的处理方法。

49、依据本发明的第四方面,提供了一种计算机可读存储介质,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现如第一方面中任一所述的应用事件的处理方法。

50、针对在先技术,本发明具备如下优点:

51、在本发明实施例中,对于应用程序而言,其可以响应于针对应用程序的用户操作,获取用户操作对应的目标事件类型,同时可以获取应用程序中各个模型对象,每个模型对象配置有入口协议,每一模型对象均关联应用程序的一应用功能,接着可以将各个模型对象的入口协议与目标事件类型进行匹配,并根据匹配结果从各个模型对象中选择与目标事件类型对应的目标模型对象,然后运行与所述目标模型对象对应的应用功能以响应所述用户操作,从而在需要运行与用户操作对应的应用功能的过程,通过入口协议与事件类型之间的匹配结果对模型对象进行选择,无需在应用程序中配置与业务类相关的引用关系,优化了应用程序的数据结构,降低了应用程序的内存大小,同时对于应用开发者而言,只需要对模型对象以及入口协议等进行维护,减少了应用开发与维护的难度,降低了开发与维护成本。

52、上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1