一种组件加载方法、装置及终端的制作方法

文档序号:9261249阅读:406来源:国知局
一种组件加载方法、装置及终端的制作方法
【技术领域】
[0001]本发明涉及计算机应用技术领域,具体涉及组件处理技术领域,尤其涉及一种组件加载方法、装置及终端。
【背景技术】
[0002]组件是对数据和方法的简单封装,包括实现信息和接口信息。其中,组件的接口信息定义该组件可实现的功能;组件的实现信息用于实现该组件所声明实现的接口信息,即用于实现该组件的接口信息所定义的功能。在实际的应用开发中,组件可共享给诸如即时通信应用、SNS(Social Networking Services,社会性网络服务)应用等的组件使用者,组件的接口信息通常以项目依赖的方式随组件使用者的程序一起发布,作为组件使用者的目标应用通过加载组件的实现信息,可使该目标应用新增该组件所实现的相应功能;以Android(安卓,一种移动操作系统)工程为例,组件的接口信息以jar(Java Archive,Java归档文件)文件形式以项目依赖的方式进入组件使用者的程序中,组件的实现信息以dex(—种安卓系统中的可执行文件的类型)文件形式被加载至组件使用者的程序中。传统的组件结构中,组件仅包括一个接口信息,该接口信息定义了组件的全部功能,若该组件的接口信息发生变化,例如:组件新增功能使得组件的接口信息发生更新,等等,作为组件使用者的目标应用可能因此而无法成功进行加载组件,降低了组件的加载成功率,且影响了目标应用的功能稳定性。

【发明内容】

[0003]本发明实施例提供一种组件加载方法、装置及终端,可有效提升组件的加载成功率,保证目标应用的功能稳定性。
[0004]本发明实施例第一方面提供一种组件加载方法,可包括:
[0005]根据目标应用的组件需求信息为所述目标应用确定待加载的目标组件;
[0006]获取所述目标组件的实现信息及所述目标组件的至少两个接口信息;
[0007]当检测到所述目标应用的组件加载操作时,根据所述组件需求信息和所述目标组件的至少两个接口信息对所述组件加载操作进行校验;
[0008]在校验成功后将所述目标组件的实现信息加载至所述目标应用中。
[0009]本发明实施例第二方面提供一种组件加载装置,可包括:
[0010]确定模块,用于根据目标应用的组件需求信息为所述目标应用确定待加载的目标组件;
[0011]获取模块,用于获取所述目标组件的实现信息及所述目标组件的至少两个接口信息;
[0012]校验模块,用于当检测到所述目标应用的组件加载操作时,根据所述组件需求信息和所述目标组件的至少两个接口信息对所述组件加载操作进行校验;
[0013]加载模块,用于在校验成功后将所述目标组件的实现信息加载至所述目标应用中。
[0014]本发明实施例第三方面提供一种终端,可包括上述第二方面提供的组件加载装置。
[0015]实施本发明实施例,具有如下有益效果:
[0016]本发明实施例可将目标组件的功能采用至少两个接口信息进行定义,当目标应用进行组件加载操作时,基于目标应用的组件需求信息与该至少两个接口信息进行加载校验,可提升校验成功率,进而提升组件的加载成功率,从而保证目标应用的功能稳定性。
【附图说明】
[0017]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0018]图1为传统的组件结构的一个示意图;
[0019]图2为本发明实施例提供的组件结构的一个示意图;
[0020]图3为本发明实施例提供的一种组件加载方法的流程图;
[0021]图4为本发明实施例提供的另一种组件加载方法的流程图;
[0022]图5为图4所示实施例中步骤S202的一个实施例的流程图;
[0023]图6为图4所示实施例中步骤S202的另一个实施例的流程图;
[0024]图7为本发明实施例提供的一种组件加载装置的结构示意图;
[0025]图8为图7所示的确定模块的实施例的结构示意图;
[0026]图9为图8所示的集合查找单元的一个实施例的结构示意图;
[0027]图10为图8所示的集合查找单元的另一个实施例的结构示意图;
[0028]图11为图7所示的校验模块的结构示意图;
[0029]图12为本发明实施例提供的一种终端的结构示意图。
【具体实施方式】
[0030]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0031]本发明实施例中,组件是对数据和方法的简单封装,包括实现信息和接口信息。其中,组件的接口信息定义该组件可实现的功能;组件的实现信息用于实现该组件所声明的接口信息,即用于实现该组件的接口信息所定义的功能。
[0032]请参见图1,为传统的组件结构的一个示意图;如图1所示,组件A声明实现接口信息a,该接口信息a定义了组件A的全部功能;组件A的实现信息用于实现接口信息a所定义的功能。组件使用者A欲使用组件A,则该组件A的接口信息a通过项目依赖的方式进入组件使用者A的应用程序中,并作为组件使用者A的组件需求信息。其中,项目依赖的方式指随组件使用者A的应用程序一起发布。基于图1所示的传统的组件结构,传统的组件加载方法可包括:当组件使用者A根据使用需要动态加载组件A的实现信息时,通过校验得到组件A的接口信息a与组件使用者A的组件需求信息包括的接口信息a相同,校验成功,该组件A的实现信息可被成功加载至组件使用者A的应用程序的进程空间中以实现相应功能。图1所示的传统的组件结构中,仅采用一个接口信息a定义组件A的全部功能,当组件A扩展新的功能时,组件A的接口信息a随之进行更新;然而,由于接口信息a已经以项目依赖的方式进入至组件使用者A的应用程序中,组件使用者A动态加载组件A时,依然采用更新前的接口信息a,这将造成校验失败,从而造成组件A的动态加载失败。为了保证组件使用者A能够正常使用组件A,传统的解决方案有两种,其一为:保持组件的接口信息的稳定,即不对组件A进行新功能的扩展,这无疑限制了组件A的能力扩充。其二为:升级组件使用者A的应用程序中的接口信息,这需要重新启动关于组件使用者A的应用程序的项目计划,耗费资源;另外,组件使用者A或许无需使用组件A的扩展功能,对组件使用者A的应用程序的强制升级将限制组件A的使用推广。
[0033]针对传统的组件结构的缺陷,本发明实施例对组件结构进行了改进:具体请一并参见图2,为本发明实施例提供的组件结构的一个示意图;如图2所示,组件B声明实现接口信息bl和接口信息b2,该接口信息bl定义了组件B的基本功能,该基本功能可以为组件BI在初始开发时所实现的功能;该接口信息b2定义了组件B的扩展功能,该扩展功能可以为组件B在后续开发时新增实现的功能。需要说明的是,图2所示实施例中仅示出组件B的两个接口信息,当组件B新增扩展功能时,还可再为组件B添加新的接口信息b3、b4等等,分别用于定义组件B新增的各扩展功能。组件B的实现信息用于实现接口信息bl和接口信息b2所定义的功能。应用A和应用B均为该组件B的组件使用者,应用A和应用B可根据实际需要,对组件B的功能进行定制和使用。例如图2所示,应用A欲使用组件B的接口信息bl所定义的功能,则该组件B的接口信息bl可通过项目依赖的方式进入应用A的程序中,并作为应用A的组件需求信息;应用B欲使用组件B的接口信息bl和接口信息b2所定义的功能,则该组件B的接口信息bl和接口信息b2可通过项目依赖的方式进入应用B的程序中,并作为应用B的组件需求信息。由图2可知,本发明实施例中,组件包含至少两个接口信息,该至少两个接口信息可分别用于定义组件的基本功能和扩展功能,从而提升了组件的能力扩充;且目标应用可根据实际需求对该至少两个接口信息进行灵活选择或灵活组合,避免强制升级带来的资源耗费,提升组件的使用灵活度。
[0034]基于图2所示的组件结构,下面将结合图
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1