[发明专利]调用功能模块的方法、相关装置及装置修复方法在审
申请号: | 201510144881.9 | 申请日: | 2015-03-30 |
公开(公告)号: | CN104834555A | 公开(公告)日: | 2015-08-12 |
发明(设计)人: | 高飞;陈超;赵林 | 申请(专利权)人: | 百度在线网络技术(北京)有限公司 |
主分类号: | G06F9/46 | 分类号: | G06F9/46;G06F9/445 |
代理公司: | 广州三环专利代理有限公司 44202 | 代理人: | 温旭;郝传鑫 |
地址: | 100085 北京市*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 调用 功能模块 方法 相关 装置 修复 | ||
技术领域
本发明涉及软件开发领域,更为具体而言,涉及一种调用功能模块的方法、相关装置及装置修复方法。
背景技术
现有的应用程序(Application,app),例如基于安卓系统的应用程序,其各个功能之间紧密耦合。
以页面跳转为例,当需要由A页面跳转到B页面时,现有技术采用A页面直接调用B页面的紧密耦合方式,这种方式存在如下缺陷:一旦B页面出现问题(bug)或者当需要针对B页面的某个功能进行更新时,必须以整个应用程序为基础进行更新,并且需要将更新后的完整的应用程序安装包发送给用户。用户只有安装最新版本的应用程序才能修复B页面的bug或更新B页面的功能。这无疑降低了更新效率,并且浪费了用户流量,用户体验不佳。
发明内容
为了解决现有技术所存在的缺陷,本发明实施方式提供一种调用功能模块的方法、相关装置及装置修复方法,能实现应用程序中的功能模块之间的解耦,进而提高应用程序的更新效率、降低更新所需流量,提高用户体验。
第一方面,本发明实施例提供一种调用功能模块的方法,包括:
接收请求消息,所述请求消息用于请求调用指定功能模块;
在接收到所述请求消息后执行预先存储的所述指定功能模块的功能触发接口,所述功能触发接口用于调用所述指定功能模块。
可选地,在本发明实施例的一种实现方式中,所述请求消息携带有用于标识所述指定功能模块的命令号;所述执行预先存储的所述指定功能模块的功能触发接口,包括:根据预先存储的注册信息确定与所述请求消息中的命令号对应的功能触发接口(其中,所述注册信息包括所述指定功能模块的命令号及对应的功能触发接口),执行与所述请求消息携带的命令号对应的功能触发接口。
其中,优选地,所述指定功能模块的功能触发接口是runnable接口,该runnable接口以所述指定功能模块作为跳转目标。
其中,优选地,采用哈希表存储所述注册信息。
第二方面,本发明实施例提供一种调用功能模块的方法,包括:
发起功能调用的功能模块向功能调用装置发送请求消息,所述请求消息用于请求调用指定功能模块;
所述功能调用装置在接收到所述请求消息后,执行预先存储的所述指定功能模块的功能触发接口,所述功能触发接口用于调用所述指定功能模块。
在本实施例的一种实现方式中,所述请求消息携带有用于标识所述指定功能模块的命令号;所述功能调用装置在接收到所述请求消息后,执行预先存储的所述指定功能模块的功能触发接口,包括:所述功能调用装置根据预先存储的注册信息确定与所述请求消息中的命令号对应的功能触发接口,并执行该功能触发接口,其中,所述注册信息包括所述指定功能模块的命令号及对应的功能触发接口。
其中,优选地,所述指定功能模块的功能触发接口是runnable接口,该runnable接口以所述指定功能模块作为跳转目标。
在本实施例的另一种实现方式中,所述方法还包括:加载所述指定功能模块,并在加载所述指定功能模块时,将预定义的所述指定功能模块的功能触发接口和命令号存储到所述功能调用装置。
其中,优选地,所述加载所述指定功能模块,包括:在应用程序初始化时按照功能模块的类别分批次地加载应用程序的功能模块;如果在后加载的功能模块与在先加载的功能模块具有相同的命令号,则在用在后加载的功能模块的功能触发接口替换已存储的在先加载的功能模块的功能触发接口;其中,应用程序的功能模块包括所述指定功能模块,所述功能模块的类别包括插件类功能模块和非插件类功能模块。
第三方面,本发明实施例提供一种功能调用装置,包括:
接收模块,用于接收请求消息,所述请求消息用于请求调用指定功能模块;
调用模块,用于在所述接收模块接收到所述请求消息后执行预先存储的所述指定功能模块的功能触发接口,所述功能触发接口用于调用所述指定功能模块。
在本实施例的一种实现方式中,所述请求消息携带有用于标识所述指定功能模块的命令号。所述调用模块包括:存储子模块,用于存储注册信息,所述注册信息包括所述指定功能模块的命令号及对应的功能触发接口;确定子模块,用于根据所述注册信息确定与所述请求消息中的命令号对应的功能触发接口;执行子模块,用于执行所述确定子模块确定的功能触发接口。
其中,优选地,所述指定功能模块的功能触发接口是runnable接口,该runnable接口以所述指定功能模块作为跳转目标。所述存储子模块采用哈希表存储所述注册信息。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于百度在线网络技术(北京)有限公司,未经百度在线网络技术(北京)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510144881.9/2.html,转载请声明来源钻瓜专利网。