[发明专利]一种适用于Android应用内的数据总线设计方法在审
申请号: | 202210292277.0 | 申请日: | 2022-03-24 |
公开(公告)号: | CN114706695A | 公开(公告)日: | 2022-07-05 |
发明(设计)人: | 李立亚;吴丽;张春燕;闾立新;周谢益;董宝庆;王振;于帅威;赵壮壮 | 申请(专利权)人: | 无锡科技职业学院 |
主分类号: | G06F9/54 | 分类号: | G06F9/54 |
代理公司: | 无锡盛阳专利商标事务所(普通合伙) 32227 | 代理人: | 黄莹;顾吉云 |
地址: | 214028 *** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 适用于 android 应用 数据 总线 设计 方法 | ||
本发明提供的一种适用于Android应用内的数据总线设计方法,其在处理非跨进程的应用内通信时,采用无事件消息队缓冲列的设计,简化了本发明的数据总线的结构和运行环节,并减少了实现本发明数据总线时的代码量,提高了程序效率;同时,基于于反射方式、发送消息时立刻执行,消息传递速度更快,进一步提高了程序效率。主动分发事件消息时,立刻检索数据流表并反射调用目标组件的事件处理方法、将事件消息发给目标组件。与现有总线技术相比,本发明中无事件消息队列的设计,简化了数据总线的设计,使数据总线在运行上和实现上都具有较高的效率。
技术领域
本发明涉及智能终端开发技术领域,具体为一种适用于Android应用内的数据总线设计方法。
背景技术
随着智能终端的广泛应用,作为终端主流操作系统的Android相关的开发也广泛展开。根据Android应用程序的开发规范,需要将耗时任务放在后台线程中执行。但是,日常应用中,当任务执行完毕后,往往需要将执行结果显示在UI界面上。根据Android应用程序开发规范,不允许后台线程直接修改UI界面,而是提供了Handler消息机制修改UI界面,并提供了相应的API接口和编程方式说明。但使用Handler消息机制编程比较繁琐,并且会使后台线程和UI界面间的耦合度非常高。
为此,为了提高开发效率,有技术人员设计了第三方总线技术,比如:当前较流行的EventBus事件总线框架,其为基于事件类型驱动的总线技术。在开发上可以大大降低组件间的耦合度,使用上也比较简单。但是,EventBus框架技术有个较大的缺点,不能大量使用事件,如果大量使用事件,则需要创建大量的事件消息类,当事件触发时,所有处理相同事件的处理方法都会执行一遍,在控制上不够精确、效率比较低。为了实现精确控制处理方法的运行,基于EventBus事件总线框架的应用在设计上、在维护众多事件上,需要的开发成本很高。
发明内容
为了解决基于现有的第三方总线技术,进行组件之间或者组件与后台线程之间通信时,为了进行精确控制处理方法的运行,开发成本过高的问题,本发明提供一种适用于Android应用内的数据总线设计方法,其运行在非跨进程场景下,不但简化了数据总线的驱动逻辑与事件消息实体类之间的关联,并降低了事件消息实体类与处理事件方法的耦合度,能以较高效率处理大量事件。
本发明的技术方案是这样的:一种适用于Android应用内的数据总线设计方法,其特征在于,数据总线的结构中包括:注册表和数据流表;
所述注册表以组件引用为索引,每个注册节点维护一个组件引用的信息;所述注册表的结构包括:组件引用、标签列表、邮箱表、事件处理方法、优先级;
所述优先级决定每个组件接收事件的顺序;所述标签表的作用是提供与注册组件关联的标签列表的一览表,为组件的注册、注销等管理操作提供一致性检查样本;所述邮箱表为每个组件提供邮箱,所述邮箱中的邮件包含标签、源组件、消息内容3个要素,标签用于标定邮件类型、源组件用于标定发送者;
每个组件只能使用一个所述事件处理方法,用这一个事件处理方法处理所有事件消息,通过标签区分事件的类型和数据类型。事件处理方法的名称自定义,参数限定为3个,分别是标签、消息数据对象、源组件引用,其中源组件引用参数用于目标组件得到事件的发送者;
所述数据流表以标签为索引,形成数据流表的基本结构,每个标签节点中包含组件表,各组件根据使用标签的优先级排列;所述组件表中的节点保存了所述注册表中注册节点的组件引用,复用了注册表中节点;
基于所述注册表、所述数据流表,所述数据总线提供的操作包括:注册、注销、修改标签列表、事件消息发送和处理、邮箱消息发送和收取;组件使用所述数据总线时,为了保证正常运行必需使用的操作包括:注册、注销、事件消息处理操作,按照实际需要选择的操作包括:修改标签列表、事件消息发送和邮箱消息发送收取;
基于所述注册表、所述数据流表实现的事件消息的分发,采用反射方式调用目标组件的事件处理方法方式分发;其中,目标组件的事件方法内不包括耗时代码;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于无锡科技职业学院,未经无锡科技职业学院许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210292277.0/2.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置