【技术实现步骤摘要】
组件间传递事件的方法和装置
本申请实施例涉及计算机
,具体涉及组件间传递事件的方法和装置。
技术介绍
随着开发安卓应用的需求越来越复杂,安卓应用的代码量也越来越多。所有代码强耦合在一起会导致后续难修改、编译和调试整个安卓应用,影响安卓应用的开发效率,也会增加后期的维护成本。组件化开发的思想是将安卓应用分成多个模块,每个模块可以看作是一个组件。在安卓应用的开发过程中,可以单独开发和调试各组件,最后可以将各组件统一合并为一个安卓应用。现有的组件化开发安卓应用的解决方案一般是调整安卓应用的开发架构,按照功能业务将安卓应用拆分为多个组件。但是现有的解决方案中各组件之间并不是完全的代码隔离,仍具有一定程度的代码依赖。
技术实现思路
本申请实施例提出了组件间传递事件的方法和装置。第一方面,本申请实施例提供了一种组件间传递事件的方法,该方法包括:获取组件的源码;分析源码,获取源码中有目标注解的方法的关联信息,得到关联信息集合,其中,关联信息包括方法名、参数信息、所在类的全名,全名包括包名和类名,参数信息包括参数类型和参数顺序;针对得到的关联信息集合中的、对应的方法为非静态方法的关联信息,生成以该关联信息为执行条件的事件处理方法,其中,事件处理方法用于接收待传递事件并执行该关联信息对应的方法;在源码的运行过程中,针对关联信息集合中的、对应的方法为非静态方法的关联信息,构建该关联信息对应的方法所在类的对象与该关联信息的第一对应关系;响应于获取到待传递事件,确定待传递事件的参数信息;根据 ...
【技术保护点】
1.一种组件间传递事件的方法,包括:/n获取组件的源码;/n分析所述源码,获取所述源码中有目标注解的方法的关联信息,得到关联信息集合,其中,所述关联信息包括方法名、参数信息、所在类的全名,所述全名包括包名和类名,所述参数信息包括参数类型和参数顺序;/n针对得到的关联信息集合中的、对应的方法为非静态方法的关联信息,生成以该关联信息为执行条件的事件处理方法,其中,所述事件处理方法用于接收待传递事件并执行该关联信息对应的方法;/n在所述源码的运行过程中,针对所述关联信息集合中的、对应的方法为非静态方法的关联信息,构建该关联信息对应的方法所在类的对象与该关联信息的第一对应关系;/n响应于获取到待传递事件,确定所述待传递事件的参数信息;根据构建的第一对应关系查找与待传递事件的参数信息对应的关联信息和对象,查找以查找到的关联信息为执行条件的事件处理方法并由确定的对象执行。/n
【技术特征摘要】
1.一种组件间传递事件的方法,包括:
获取组件的源码;
分析所述源码,获取所述源码中有目标注解的方法的关联信息,得到关联信息集合,其中,所述关联信息包括方法名、参数信息、所在类的全名,所述全名包括包名和类名,所述参数信息包括参数类型和参数顺序;
针对得到的关联信息集合中的、对应的方法为非静态方法的关联信息,生成以该关联信息为执行条件的事件处理方法,其中,所述事件处理方法用于接收待传递事件并执行该关联信息对应的方法;
在所述源码的运行过程中,针对所述关联信息集合中的、对应的方法为非静态方法的关联信息,构建该关联信息对应的方法所在类的对象与该关联信息的第一对应关系;
响应于获取到待传递事件,确定所述待传递事件的参数信息;根据构建的第一对应关系查找与待传递事件的参数信息对应的关联信息和对象,查找以查找到的关联信息为执行条件的事件处理方法并由确定的对象执行。
2.根据权利要求1所述的方法,其中,所述方法还包括:
在所述源码的运行过程中,针对所述关联信息集合中的、对应的方法为静态方法的关联信息,构建静态事件类与该关联信息的第二对应关系,其中,在所述静态事件类中包括以有目标注解的静态方法的关联信息为执行条件的事件处理方法;
响应于获取到待传递事件,确定所述待传递事件的参数信息;根据构建的第二对应关系查找与待传递事件的参数信息对应的关联信息和静态事件类,查找以查找到的关联信息为执行条件的事件处理方法并由确定的静态事件类执行。
3.一种组件间传递事件的装置,包括:
获取单元,被配置成获取组件的源码;
分析单元,被配置成分析所述源码,获取所述源码中有目标注解的方法的关联信息,得到关联信息集合,其中,所述关联信息包括方法名、参数信息、所在类的全名,所述全名包括包名和类名,所述参数信息包括参数类型和参数顺序;
事件处理方法生成单元,被配置成针对得到的关联信息集合中的、对应的方法为非静态方法的关联信息,生成以该关联信息为执行条件的事件处理方法,其中,所述事件处理方法用于接收待传递事件并执行该关联信息对应的方法;
对应关系构建单元,被配置成在所述源码的运行过程中,针对所述关联信息集合中的、对应的方法为非静态方法的关联信息,构建该关联信息对应的方法所在类的对象与该关联信息的第一对应...
【专利技术属性】
技术研发人员:张溪梦,叶玎玎,
申请(专利权)人:北京高绎信息技术有限公司,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。