调用功能模块的方法、相关装置及装置修复方法

文档序号:8512486阅读:308来源:国知局
调用功能模块的方法、相关装置及装置修复方法
【技术领域】
[0001] 本发明涉及软件开发领域,更为具体而言,涉及一种调用功能模块的方法、相关装 置及装置修复方法。
【背景技术】
[0002] 现有的应用程序(Application,app),例如基于安卓系统的应用程序,其各个功能 之间紧密耦合。
[0003] 以页面跳转为例,当需要由A页面跳转到B页面时,现有技术采用A页面直接调用 B页面的紧密耦合方式,这种方式存在如下缺陷:一旦B页面出现问题(bug)或者当需要针 对B页面的某个功能进行更新时,必须以整个应用程序为基础进行更新,并且需要将更新 后的完整的应用程序安装包发送给用户。用户只有安装最新版本的应用程序才能修复B页 面的bug或更新B页面的功能。这无疑降低了更新效率,并且浪费了用户流量,用户体验不 佳。

【发明内容】

[0004] 为了解决现有技术所存在的缺陷,本发明实施方式提供一种调用功能模块的方 法、相关装置及装置修复方法,能实现应用程序中的功能模块之间的解耦,进而提高应用程 序的更新效率、降低更新所需流量,提高用户体验。
[0005] 第一方面,本发明实施例提供一种调用功能模块的方法,包括:
[0006] 接收请求消息,所述请求消息用于请求调用指定功能模块;
[0007] 在接收到所述请求消息后执行预先存储的所述指定功能模块的功能触发接口,所 述功能触发接口用于调用所述指定功能模块。
[0008] 可选地,在本发明实施例的一种实现方式中,所述请求消息携带有用于标识所述 指定功能模块的命令号;所述执行预先存储的所述指定功能模块的功能触发接口,包括: 根据预先存储的注册信息确定与所述请求消息中的命令号对应的功能触发接口(其中,所 述注册信息包括所述指定功能模块的命令号及对应的功能触发接口),执行与所述请求消 息携带的命令号对应的功能触发接口。
[0009] 其中,优选地,所述指定功能模块的功能触发接口是runnable接口,该runnable 接口以所述指定功能模块作为跳转目标。
[0010] 其中,优选地,采用哈希表存储所述注册信息。
[0011] 第二方面,本发明实施例提供一种调用功能模块的方法,包括:
[0012] 发起功能调用的功能模块向功能调用装置发送请求消息,所述请求消息用于请求 调用指定功能t吴块;
[0013] 所述功能调用装置在接收到所述请求消息后,执行预先存储的所述指定功能模块 的功能触发接口,所述功能触发接口用于调用所述指定功能模块。
[0014] 在本实施例的一种实现方式中,所述请求消息携带有用于标识所述指定功能模块 的命令号;所述功能调用装置在接收到所述请求消息后,执行预先存储的所述指定功能模 块的功能触发接口,包括:所述功能调用装置根据预先存储的注册信息确定与所述请求消 息中的命令号对应的功能触发接口,并执行该功能触发接口,其中,所述注册信息包括所述 指定功能模块的命令号及对应的功能触发接口。
[0015] 其中,优选地,所述指定功能模块的功能触发接口是runnable接口,该runnable 接口以所述指定功能模块作为跳转目标。
[0016] 在本实施例的另一种实现方式中,所述方法还包括:加载所述指定功能模块,并在 加载所述指定功能模块时,将预定义的所述指定功能模块的功能触发接口和命令号存储到 所述功能调用装置。
[0017] 其中,优选地,所述加载所述指定功能模块,包括:在应用程序初始化时按照功能 模块的类别分批次地加载应用程序的功能模块;如果在后加载的功能模块与在先加载的功 能模块具有相同的命令号,则在用在后加载的功能模块的功能触发接口替换已存储的在先 加载的功能模块的功能触发接口;其中,应用程序的功能模块包括所述指定功能模块,所述 功能模块的类别包括插件类功能模块和非插件类功能模块。
[0018] 第三方面,本发明实施例提供一种功能调用装置,包括:
[0019] 接收模块,用于接收请求消息,所述请求消息用于请求调用指定功能模块;
[0020] 调用模块,用于在所述接收模块接收到所述请求消息后执行预先存储的所述指定 功能模块的功能触发接口,所述功能触发接口用于调用所述指定功能模块。
[0021] 在本实施例的一种实现方式中,所述请求消息携带有用于标识所述指定功能模块 的命令号。所述调用模块包括:存储子模块,用于存储注册信息,所述注册信息包括所述指 定功能模块的命令号及对应的功能触发接口;确定子模块,用于根据所述注册信息确定与 所述请求消息中的命令号对应的功能触发接口;执行子模块,用于执行所述确定子模块确 定的功能触发接口。
[0022] 其中,优选地,所述指定功能模块的功能触发接口是runnable接口,该runnable 接口以所述指定功能模块作为跳转目标。所述存储子模块采用哈希表存储所述注册信息。
[0023] 第四方面,本发明实施例提供一种装置,该装置采用根据本发明实施例第三方面 或其实现方式的功能调用装置进行功能调用,该装置包括:
[0024] 多个功能模块;和
[0025] 根据本发明实施例第三方面或其实现方式的功能调用装置;
[0026] 其中,所述多个功能模块包括用于向所述功能调用装置发送请求消息的功能模 块,所述请求消息用于请求调用所述多个功能模块中的指定功能模块;
[0027] 所述功能调用装置通过执行预存储的所述指定功能模块的功能触发接口调用所 述指定功能模块。
[0028] 在本实施例的一种实现方式中,所述指定功能模块包括:注册子模块,用于定义所 述指定功能模块的功能触发接口和命令号,以及用于将所述指定功能模块的功能触发接口 和命令号存储至所述功能调用装置。所述装置还包括:加载模块,用于加载所述指定功能模 块,并在加载时触发所述注册子模块,以将所述指定功能模块的功能触发接口和命令号存 储到所述功能调用装置。
[0029] 其中,优选地,所述加载模块具体用于,按照功能模块的类别分批次地加载所述多 个功能模块;如果在后加载的功能模块与在先加载的功能模块具有相同的命令号,则用在 后加载的功能模块的功能触发接口替换已存储的在先加载的功能模块的功能触发接口;其 中,所述功能模块的类别包括插件类功能模块和非插件类功能模块。
[0030] 第五方面,本发明实施例提供一种修复根据本发明实施例第四方面或其实现方式 的功能调用装置的方法,包括:
[0031] 加载用于修复待修复功能模块的插件,并以替换所述待修复功能模块的功能触发 接口的方式,将所述插件的功能触发接口存储至所述功能调用装置。
[0032] 在本实施例的一种实现方式中,所述插件预定义有用于调用该插件的功能触发接 口以及与所述待修复功能模块相同的命令号;所述以替换所述待修复功能模块的功能触发 接口的方式,将所述插件的功能触发接口存储至所述功能调用装置,包括:在加载功能模 块时,首先加载所述待修复功能模块并将所述待修复功能模块的命令号和功能触发接口存 储至所述功能调用装置,然后加载所述插件并将所述插件的命令号和功能触发接口存储至 所述功能调用装置,并以所述插件的功能触发接口替换所述待修复功能模块的功能触发接
[0033] 采用本发明各种实施例具有以下有益效果:
[0034] 1)采用本发明,通过功能调用装置实现了功能模块之间的解耦,为针对性地修复 /更新功能模块的功能提供了架构基础。
[0035] 2)采用本发明提供的装置修复方法,在更新或修复装置时,仅需要下载安装相
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1