生成功能应用及加载资源的方法及装置制造方法及图纸

技术编号:15039506 阅读:112 留言:0更新日期:2017-04-05 13:12
本申请涉及软件技术领域,特别涉及生成功能应用及加载资源的方法及装置。其中在生成功能应用阶段,给该功能应用涉及到的资源分配唯一标识符,并生成R文件,将所述R文件加入到功能应用的代码中编译生成所述功能应用,在所述功能应用运行阶段,宿主程序构造所述功能应用的资源对象,并将两者传递给所述功能应用,从而所述功能应用可以利用资源对象获得与所述唯一标识符对应的资源,通过上述本申请的方法和装置,可以在功能应用中包含R文件,从而对功能应用进行更新时可以不必更新宿主程序。

【技术实现步骤摘要】

本申请涉及软件
,特别涉及生成功能应用及加载资源的方法及装置。
技术介绍
对于平台级的客户端应用,最大挑战是用模块化来满足大规模团队的开发,然而模块化面临的问题不仅仅是业务上的划分,更重要是代码和工程组织形式上的隔离。例如,在Android系统中有自己的一套资源管理和加载方式,然而要动态的去加载资源就成为了一个十分困难的技术问题。还是以Android系统为例,在Android上做模块化,需要面临代码和资源的动态加载问题,然而对于代码的加载Android系统提供了相应的API(应用程序接口)来解决,但是对于资源的处理却没有相应的办法。目前主流的做法有:1.针对代码进行模块化,而资源(例如图片、文本等)不做模块。目前市面上绝大部分应用都是选择这种做法,资源集中放在宿主程序中,各个模块通过编译时生成的R文件访问宿主以加载资源。这种做法的问题在于,宿主程序上线后,资源无法更新或者改变,需要更新整个宿主程序。2.代码、资源都做模块化,但是这种资源访问方式与现有Android系统不兼容,不能够使用Android系统对资源管理的优化方法。
技术实现思路
为了解决现有技术中上述问题,提出了生成功能应用及加载资源的方法及装置,可以将应用的资源模块化,以便于提高资源更新时的效率,并且能够提高功能应用对现有系统的兼容性。本申请实施例提供了一种功能应用生成的方法,包括,给功能应用涉及的资源分配唯一标识符(ID),生成该功能应用的R文件,所述R文件记录有资源索引信息;将所述R文件加入到功能应用的代码中编译生成功能应用。本申请实施例还提供了一种功能应用动态加载资源的方法,包括,在宿主程序中加载功能应用时,构造所述功能应用的资源对象;所述功能应用通过所述资源对象和该功能应用中的资源索引信在指定路径中获取相应资源。本申请实施例还提供了一种功能应用的生成装置,包括,生成单元,用于给功能应用涉及的资源分配唯一标识符,生成该功能应用的R文件,所述R文件记录有资源索引信息;打包单元,用于将所述R文件加入到功能应用的代码中编译生成功能应用。本申请实施例还提供了一种功能应用动态加载资源的装置,包括,宿主程序单元,在宿主程序中加载功能应用时,用于构造所述功能应用的资源对象;功能应用单元,用于通过所述资源对象和该功能应用中的资源索引信息在指定路径中获取相应资源。由以上本申请实施例提供的技术方案可见,可以在功能应用中包含R文件,从而对功能应用进行更新时可以不必更新宿主程序,并且开发者可以像开发原生应用一样使用资源,功能应用的模块化非常彻底,并且可以提高功能应用的兼容性,继续享受系统对资源管理的优化,而且也增加了资源的命名空间。当然实施本申请的任一产品或者方法必不一定需要同时达到以上所述的所有优点。附图说明为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1所示为本申请实施例一种功能应用生成方法的流程图;图2所示为本申请实施例一种功能应用动态加载资源方法的流程图;图3所示为本申请实施例一种功能应用的生成装置结构示意图;图4所示为本申请实施例一种功能应用动态加载资源的装置结构示意图;图5所示为本申请实施例一种生成Android功能应用具体方法的流程图;图6所示为本申请实施例另一种生成Android功能应用具体方法的流程图;图7为本申请资源唯一标识符的示意图;图8所示为本申请实施例一种Android功能应用加载的具体方法流程图;图9所示为本申请实施例另一种Android功能应用加载的具体方法流程图。具体实施方式本申请实施例提供了生成功能应用及加载资源的方法及装置。为了使本
的人员更好地理解本申请中的技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。如图1所示为本申请实施例一种功能应用生成方法的流程图,在本实施例中,在生成功能应用(例如支付宝这个宿主程序中的汇款功能应用)阶段,给该功能应用涉及到的资源分配唯一标识符(ID),并生成R文件(主要包括指示资源与唯一标示符之间对应关系的资源索引信息),将所述R文件加入到功能应用的代码中打包生成所述功能应用(APK),其中还可以加入功能应用的对应资源一起打包生成功能应用。具体如图1所示包括,步骤101,给功能应用涉及的资源分配唯一标识符(ID),生成该功能应用的R文件,所述R文件记录有资源索引信息;步骤102,将所述R文件加入到功能应用的代码中,编译生成功能应用。作为本申请的一个实施例,给功能应用涉及的资源分配唯一标识符中进一步包括,所述唯一标识符中包括资源类型和资源序号。作为本申请的一个实施例,所述唯一标识符中还具有指明包括该资源的模块ID。其中,所述包括该资源的模块ID可能为该功能应用的模块ID,或者资源模块ID。具体的,所述唯一标示符为4个字节,前面几个字节可以为资源类型,后面的几个字节可以为资源序号;或者,前1个字节为模块ID,例如01为01号功能应用模块或者为资源模块(模块ID),随后第2个字节为资源类型,例如01表示图片,02表示文本等,后面的2个字节为资源序号,具体可以参见附图7为本申请资源唯一标识符的示意图。在一些实施例中,可以将功能应用涉及的资源放置于该功能应用的模块中,或者放置于单独的资源模块中,或者放置于几个资源模块中,同一个功能应用所涉及的资源的唯一标识符是各不相同的,不同的功能应用所涉及的同一资源的唯一标识符可能相同,请参见后面的实施例。上述步骤中的R文件与现有技术中宿主程序中的R文件类似,包括的主要内容为资源的索引信息,即在R文件中存储着资源与唯一标识符的对应关系。作为本申请的一个实施例,在将所述R文件加入到功能应用的代码中编译生成功能应用中还进一步包括,将所述R文件和所述功能应用涉及资源的路径信息加入到所述功能应用的代码中编译生成功能应用。其中,所述功能应用涉及资源的路径信息包括了该功能应用所依赖的其它功能应用或者宿主程序的资源路径信息,例如手机网上充值的功能应用可能涉及付款功能应用的一些资源,因此在该路径信息文件中记载了所依赖资源的路径信息,即,用于指示宿主程序生成资源对象时,在功能应用的路径信息文件中获取资源路径信息,将所依赖的资源位置写入到资源对象中,以使得资源对象能够在指定的位置找到所述功能应用的相应资源。通过上述本申请的实施例方法,可以在功能应用中包含R文件,从而对功能应用进行更新时可以不必更新宿主程序,并且开发者可以向开发原生应用一样使用资源,功能应用的模块化非常彻底,并且可以继续享受系统对资源管理的优化,而且也增加了资源的命名空间。如图2所示为本申请实施例一种功能应用动态加载资源方法的流程图,在所述功能应用运行阶段,宿主程序构造所述功能应用的资源对象,并将资源对象传递给所述功能应用,从而所述功能应用可以本文档来自技高网
...

【技术保护点】
一种生成功能应用的方法,其特征在于包括,给功能应用涉及的资源分配唯一标识符ID,生成该功能应用的R文件,所述R文件记录有资源索引信息;将所述R文件加入到功能应用的代码中编译生成功能应用。

【技术特征摘要】
1.一种生成功能应用的方法,其特征在于包括,给功能应用涉及的资源分配唯一标识符ID,生成该功能应用的R文件,所述R文件记录有资源索引信息;将所述R文件加入到功能应用的代码中编译生成功能应用。2.根据权利要求1所述的方法,其特征在于,所述唯一标识符中包括资源类型和资源序号。3.根据权利要求2所述的方法,其特征在于,所述唯一标识符中还具有指明包括该资源的模块ID。4.根据权利要求1所述的方法,其特征在于,在将所述R文件加入到功能应用的代码中编译生成功能应用中还进一步包括,将所述R文件和所述功能应用涉及资源的路径信息加入到所述功能应用的代码中编译生成功能应用。5.一种功能应用动态加载资源的方法,其特征在于包括,在宿主程序中加载功能应用时,构造所述功能应用的资源对象;所述功能应用通过所述资源对象和该功能应用中的资源索引信息在指定路径中获取相应资源。6.根据权利要求5所述的方法,其特征在于,所述构造所述功能应用的资源对象中还包括,将所述功能应用对应资源的路径信息作为指定路径写入所述资源对象中。7.根据权利要求6所述的方法,其特征在于,将该功能应用对应资源的路径信息写入所述资源对象中进一步包括,将所述功能应用的路径信息作为指定路径写入到所述资源对象中;或者,根据所述功能应用中的路径信息文件获得路径信息,将该路径信息作为指定路径写入到资源对象中。8.根据权利要求5所述的方法,其特征在于,所述构造所述功能应用的资源对象中还包括,根据所述功能应用中的资源索引信息获得唯一标识符,根据所述唯一标识符确定所述指定路径,将所述指定路径写入到资源对象中。9.根据权利要求6、7、8中任意一项所述的方法,其特征在于,所述功能应用通过所述资源对象和该功能应用中的资源索引信息获得指定路径中的相应资源具体包括,所述功能应用从所述资源索引信息中获得唯一标识符,将所述唯一标识符发送给所述功能应用的上下文,所述功能应用的上下文将所述唯一标识符发送给资源对象,所述资源对象根据所述唯一
\t标识符在指定的路径中获得相应资源,所述功能...

【专利技术属性】
技术研发人员:黎三平
申请(专利权)人:阿里巴巴集团控股有限公司
类型:发明
国别省市:开曼群岛;KY

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1