[发明专利]组件间传递事件的方法和装置有效
申请号: | 201810981488.9 | 申请日: | 2018-08-27 |
公开(公告)号: | CN110865889B | 公开(公告)日: | 2023-07-04 |
发明(设计)人: | 张溪梦;叶玎玎 | 申请(专利权)人: | 北京高绎信息技术有限公司 |
主分类号: | G06F9/54 | 分类号: | G06F9/54 |
代理公司: | 北京英赛嘉华知识产权代理有限责任公司 11204 | 代理人: | 王达佐;马晓亚 |
地址: | 100102 北京市朝阳*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 组件 传递 事件 方法 装置 | ||
本申请实施例公开了组件间传递事件的方法和装置。该方法的一具体实施方式包括:获取组件的源码中有目标注解的方法的关联信息,得到关联信息集合,关联信息包括方法名、参数信息、所在类的全名,参数信息包括参数类型和参数顺序;针对关联信息集合中的关联信息,生成以该关联信息为执行条件的事件处理方法;在源码的运行过程中,针对对应的方法为非静态方法的关联信息,构建该关联信息对应的方法所在类的对象与该关联信息的第一对应关系;在获取到待传递事件时,根据构建的第一对应关系查找与待传递事件的参数信息对应的关联信息和对象,查找以查找到的关联信息为执行条件的事件处理方法并由确定的对象执行。该实施方式实现了组件间的事件传递。
技术领域
本申请实施例涉及计算机技术领域,具体涉及组件间传递事件的方法和装置。
背景技术
随着开发安卓应用的需求越来越复杂,安卓应用的代码量也越来越多。所有代码强耦合在一起会导致后续难修改、编译和调试整个安卓应用,影响安卓应用的开发效率,也会增加后期的维护成本。
组件化开发的思想是将安卓应用分成多个模块,每个模块可以看作是一个组件。在安卓应用的开发过程中,可以单独开发和调试各组件,最后可以将各组件统一合并为一个安卓应用。
现有的组件化开发安卓应用的解决方案一般是调整安卓应用的开发架构,按照功能业务将安卓应用拆分为多个组件。但是现有的解决方案中各组件之间并不是完全的代码隔离,仍具有一定程度的代码依赖。
发明内容
本申请实施例提出了组件间传递事件的方法和装置。
第一方面,本申请实施例提供了一种组件间传递事件的方法,该方法包括:获取组件的源码;分析源码,获取源码中有目标注解的方法的关联信息,得到关联信息集合,其中,关联信息包括方法名、参数信息、所在类的全名,全名包括包名和类名,参数信息包括参数类型和参数顺序;针对得到的关联信息集合中的、对应的方法为非静态方法的关联信息,生成以该关联信息为执行条件的事件处理方法,其中,事件处理方法用于接收待传递事件并执行该关联信息对应的方法;在源码的运行过程中,针对关联信息集合中的、对应的方法为非静态方法的关联信息,构建该关联信息对应的方法所在类的对象与该关联信息的第一对应关系;响应于获取到待传递事件,确定待传递事件的参数信息;根据构建的第一对应关系查找与待传递事件的参数信息对应的关联信息和对象,查找以查找到的关联信息为执行条件的事件处理方法并由确定的对象执行。
在一些实施例中,在源码的运行过程中,针对关联信息集合中的、对应的方法为静态方法的关联信息,构建静态事件类与该关联信息的第二对应关系,其中,在静态事件类中包括以有目标注解的静态方法的关联信息为执行条件的事件处理方法;根据构建的第二对应关系查找与待传递事件的参数信息对应的关联信息和静态事件类,查找以查找到的关联信息为执行条件的事件处理方法并由确定的静态事件类执行。
第二方面,本申请实施例提供了一种组件间传递事件的装置,该装置包括:获取单元,被配置成获取组件的源码;分析单元,被配置成分析源码,获取源码中有目标注解的方法的关联信息,得到关联信息集合,其中,关联信息包括方法名、参数信息、所在类的全名,全名包括包名和类名,参数信息包括参数类型和参数顺序;事件处理方法生成单元,被配置成针对得到的关联信息集合中的、对应的方法为非静态方法的关联信息,生成以该关联信息为执行条件的事件处理方法,其中,事件处理方法用于接收待传递事件并执行该关联信息对应的方法;对应关系构建单元,被配置成在源码的运行过程中,针对关联信息集合中的、对应的方法为非静态方法的关联信息,构建该关联信息对应的方法所在类的对象与该关联信息的第一对应关系;参数信息确定单元,被配置成响应于获取到待传递事件,确定待传递事件的参数信息;执行单元,被配置成根据构建的第一对应关系查找与待传递事件的参数信息对应的关联信息和对象,查找以查找到的关联信息为执行条件的事件处理方法并由确定的对象执行。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京高绎信息技术有限公司,未经北京高绎信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810981488.9/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种多功能眼镜
- 下一篇:一种小型化低成本大频率调谐范围稳频激光器系统及方法