【技术实现步骤摘要】
本专利技术涉及Android系统领域,具体涉及一种Activity组件加载方法及装置。
技术介绍
Android系统是一种基于Linux的自由及开放源代码的操作系统,目前被广泛应用于智能终端(例如智能手机、平板电脑和智能电视等)中。Activity组件是Android系统的四大组件之一,而程序的Activity组件需要在该程序的AndroidManifest.xml文件中进行注册,并且,程序开发的Activity组件的名称需要与该程序的AndroidManifest.xml文件中指定的类名相同。目前,通过基于dalvik.system.DexClassLoader加载.dex文件的方式可以改变程序的代码逻辑,达到不安装新的程序安装包就可升级该程序的目的。然而,上述方式存在一定的局限性,由于程序开发的Activity组件需要和该程序的AndroidManifest.xml文件中指定的类名相同,并且由于AndroidManifest.xml文件为固有属性,无法在程序运行时改变,因此,通过上述方式无法在程序运行时动态加载程序的Activity组件。
技术实现思路
本专利技术提供一种Activity组件加载方法及装置,使得Activity组件的动态加载成为可能。本专利技术第一方面提供一种Activity组件加载方法,应用于Android系统,该Activity组件加载方法,包括:获取预先嵌入Android系统的开放服务网关协议框架的BundleContext;确定待启动的Activity组件;获取与所述待启动的Activity组件关联的bundle标识符;根据当前获 ...
【技术保护点】
一种Activity组件加载方法,应用于Android系统,其特征在于,所述Activity组件加载方法包括:获取预先嵌入Android系统的开放服务网关协议框架的BundleContext;确定待启动的Activity组件;获取与所述待启动的Activity组件关联的bundle标识符;根据当前获取的bundle标识符,调用所述BundleContext的BundleContext.start方法启动相应的bundle文件,以便加载相应的Activity组件,其中,所述bundle文件由jar文件转化而成,所述jar文件由所述Activity组件的源代码编译而成。
【技术特征摘要】
1.一种Activity组件加载方法,应用于Android系统,其特征在于,所述Activity组件加载方法包括:获取预先嵌入Android系统的开放服务网关协议框架的BundleContext;确定待启动的Activity组件;获取与所述待启动的Activity组件关联的bundle标识符;根据当前获取的bundle标识符,调用所述BundleContext的BundleContext.start方法启动相应的bundle文件,以便加载相应的Activity组件,其中,所述bundle文件由jar文件转化而成,所述jar文件由所述Activity组件的源代码编译而成。2.根据权利要求1所述的Activity组件加载方法,其特征在于,所述根据获取的所述bundle标识符,调用所述BundleContext的BundleContext.start方法启动相应的bundle文件之后还包括:获取来自服务器的第一配置文件,其中,所述第一配置文件包括:bundle符号名称、版本号和bundle文件下载地址;若本地存在满足第一条件的配置文件,则:根据所述第一配置文件中的bundle文件下载地址下载相应的bundle文件;基于当次下载的bundle文件更新本地的bundle文件;将满足所述第一条件的配置文件包含的版本号更新为所述第一配置文件中的版本号;其中,所述第一条件为:配置文件包含的bundle符号名称与所述第一配置文件包含的bundle符号名称一致,且,配置文件包含的版本号低于所述第一配置文件包含的版本号。3.根据权利要求1所述的Activity组件加载方法,其特征在于,所述根据获取的所述bundle标识符,调用所述BundleContext的BundleContext.start方法启动相应的bundle文件之后还包括:获取来自服务器的第二配置文件,其中,所述第二配置文件包括:bundle符号名称、版本号和命令信息;若本地存在满足第二条件的配置文件且上述第二配置文件包含的命令信息指示的命令为卸载bundle文件,则:根据所述第二配置文件包含的bundle符号名称,获取与所述bundle符号名称关联的bundle标识符;根据当前获取的bundle标识符,卸载本地存储的相应的bundle文件;其中,所述第二条件为:配置文件包含的bundle符号名称与所述第二配置文件包含的bundle符号名称一致,且,配置文件包含的版本号与所述第二配置文件包含的版本号一致。4.根据权利要求1至3所述的Activity组件加载方法,其特征在于,所述获取预先嵌入Android系统的开放服务网关协议框架的BundleContext,之前包括:通过已启动的OSGI框架服务的代理获取开放服务网关协议框架的实例,其中,所述OSGI框架服务为:预先基于Framework创建的,用以实现在所述Android系统运行开放服务网关协议框架的服务;所述获取预先嵌入Android系统的开放服务网关协议框架的BundleContext具体为:基于获取的所述开放服务网关协议框架的实例,获取预先嵌入Android系统的开放服务网关协议框架的BundleContext。5.根据权利要求4所述的Activity组件加载方法,其特征在于,所述通过已启动的OSGI框架服务的代理获取开放服务网关协议框架的实例,之前还包括...
【专利技术属性】
技术研发人员:孙向作,
申请(专利权)人:TCL集团股份有限公司,
类型:发明
国别省市:广东;44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。