CN106557343A - 生成功能应用及加载资源的方法及装置 - Google Patents
生成功能应用及加载资源的方法及装置 Download PDFInfo
- Publication number
- CN106557343A CN106557343A CN201510640328.4A CN201510640328A CN106557343A CN 106557343 A CN106557343 A CN 106557343A CN 201510640328 A CN201510640328 A CN 201510640328A CN 106557343 A CN106557343 A CN 106557343A
- Authority
- CN
- China
- Prior art keywords
- application
- function
- resource
- unique identifier
- routing information
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 42
- 230000009897 systematic effect Effects 0.000 title claims abstract description 25
- 238000013468 resource allocation Methods 0.000 claims abstract description 14
- 238000010276 construction Methods 0.000 claims description 5
- 230000008569 process Effects 0.000 abstract description 3
- 230000006870 function Effects 0.000 description 206
- 230000006872 improvement Effects 0.000 description 7
- 238000007726 management method Methods 0.000 description 7
- 238000005457 optimization Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000012856 packing Methods 0.000 description 3
- 238000002955 isolation Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 229920001296 polysiloxane Polymers 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 239000010979 ruby Substances 0.000 description 1
- 229910001750 ruby Inorganic materials 0.000 description 1
Landscapes
- Stored Programmes (AREA)
Abstract
本申请涉及软件技术领域,特别涉及生成功能应用及加载资源的方法及装置。其中在生成功能应用阶段,给该功能应用涉及到的资源分配唯一标识符,并生成R文件,将所述R文件加入到功能应用的代码中编译生成所述功能应用,在所述功能应用运行阶段,宿主程序构造所述功能应用的资源对象,并将两者传递给所述功能应用,从而所述功能应用可以利用资源对象获得与所述唯一标识符对应的资源,通过上述本申请的方法和装置,可以在功能应用中包含R文件,从而对功能应用进行更新时可以不必更新宿主程序。
Description
技术领域
本申请涉及软件技术领域,特别涉及生成功能应用及加载资源的方法及装置。
背景技术
对于平台级的客户端应用,最大挑战是用模块化来满足大规模团队的开发,然而模块化面临的问题不仅仅是业务上的划分,更重要是代码和工程组织形式上的隔离。例如,在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所示为本申请实施例一种功能应用动态加载资源方法的流程图,在所述功能应用运行阶段,宿主程序构造所述功能应用的资源对象,并将资源对象传递给所述功能应用,从而所述功能应用可以利用资源对象获得与所述唯一标识符对应的资源,所述功能应用即可以得到相应资源,该方法可以运行于任何按照上述***设计的智能终端,例如平板电脑、智能手机、或者其他便携设备。
具体包括步骤201,在宿主程序中加载功能应用时,构造所述功能应用的资源对象;
步骤202,所述功能应用通过所述资源对象和该功能应用中的资源索引信息在指定路径中获取相应资源。
作为本申请的一个实施例,所述构造所述功能应用的资源对象中还包括,将该功能应用对应资源的路径信息作为指定路径写入所述资源对象中。其中,在现有技术中,都是由宿主程序的资源对象到宿主程序的资源中搜索该功能应用的所需资源,在本申请的技术方案中,要向资源对象指明到哪个模块(或者哪些模块)的资源中搜索,从而才能找到相应资源,因此,当某个功能应用的资源需要更新时,可以在***中单独的更新功能应用或者相应的资源模块,避免现有技术中那样需要更新整个宿主程序。
作为本申请的一个实施例,将该功能应用对应资源的路径信息写入所述资源对象中进一步包括,将所述功能应用的路径信息作为指定路径写入到所述资源对象中;
或者,根据所述功能应用中的路径信息文件获得路径信息,将该路径信息作为指定路径写入到资源对象中。
其中,将所述功能应用的路径信息作为指定路径写入到所述资源对象中,例如汇款功能应用的所有需要的资源都在生成该功能应用时加入到该功能应用的包中,宿主程序在生成资源对象时,可以根据默认的设置,指示资源对象到该汇款功能应用的包中寻找相应资源;
根据所述功能应用中的路径信息文件获得路径信息,将该路径信息作为指定路径写入到资源对象中,在功能应用生成的包中包括了路径信息文件,在该文件中记录有该功能应用所依赖的所有资源的路径信息,在宿主程序生成资源对象时,将分析该路径信息文件获得所有资源的路径信息,然后写入到资源对象中,以便于资源对象根据上述的路径信息获得相应资源。
作为本申请的一个实施例,所述构造所述功能应用的资源对象中还包括,根据所述功能应用中的资源索引信息获得唯一标识符,根据所述唯一标识符确定所述指定路径,将所述指定路径写入到资源对象中。其中,根据前面的实施例,唯一标识符中具有包括该资源的模块ID,根据该模块ID可以得到去哪个模块中寻找相应资源,例如,模块ID为01,则资源对象去01号模块采用与资源类型相同的方式寻找与资源序号相同的资源,模块ID为02,则资源对象去02号模块采用与资源类型相同的方式寻找与资源序号相同的资源。
作为本申请的一个实施例,所述功能应用通过所述资源对象和该功能应用中的资源索引信息获得指定路径中的相应资源具体包括,所述功能应用从所述资源索引信息中获得唯一标识符,将所述唯一标识符发送给所述功能应用的上下文,所述功能应用的上下文将所述唯一标识符发送给资源对象,所述资源对象根据所述唯一标识符在指定的路径中获得相应资源,所述功能应用获得所述相应的资源。其中上下文可以包括资源对象,应用名字,还可以包括一些服务,组件等内容。
通过上述本申请实施例的方法,可以在不更新宿主程序的同时,更新其下某个功能应用或者某个资源模块,从而实现更新相应资源,提高了软件更新的效率,并保证了软件的稳定性;此外,功能应用的模块化非常彻底,资源和代码都归属各自的模块,每个模块隔离非常干净,并且可以继续享受***对资源管理的优化,而且也增加了资源的命名空间。
如图3所示为本申请实施例一种功能应用的生成装置结构示意图,在该图中的装置可以通过逻辑电路或者专用处理器构成,在生成功能应用的阶段生成该功能应用的R文件,以指明调用资源时对应的资源唯一标识符,由于在每个功能应用中加入了R文件,可以在需要更新资源时只更新该功能应用或者对应的资源模块,该装置可以集成于开发者端的计算机或者服务器中,用于生成该功能应用。
在该图3中包括,生成单元301,用于给功能应用涉及的资源分配唯一标识符(ID),生成该功能应用的R文件,所述R文件记录有资源索引信息;
打包单元302,用于将所述R文件加入到功能应用的代码中编译生成功能应用。
作为本申请的一个实施例,所述生成单元给功能应用涉及的资源分配唯一标识符中包括资源类型和资源序号。
作为本申请的一个实施例,所述生成单元给功能应用涉及的资源分配唯一标识符中还包括该资源的模块ID。
作为本申请的一个实施例,所述打包单元进一步用于将所述R文件和所述功能应用涉及资源的路径信息加入到所述功能应用的代码中编译生成功能应用。
通过上述实施例的装置,可以在开发者端的计算机或者服务器中,生成具有R文件的功能应用,从而在后续宿主程序中加载该功能应用时,才能够根据R文件找到相应的资源唯一标识符,实现对该功能引用动态加载资源的目的。
如图4所示为本申请实施例一种功能应用动态加载资源的装置结构示意图,该图中所示的装置可以运行于用户端的智能设备上,例如智能手机、平板电脑、甚至智能手表等设备,这些智能设备运行智能***,在某个宿主程序中加载某个功能应用时,通过本实施例的装置可以实现动态加载该功能应用所需的资源,并且当这些资源需要更新时,只需要更新该功能应用或者相应的资源模块,而不必如现有技术中那样需要更新整个宿主程序。
该图所示的装置中包括,宿主程序单元401,在宿主程序中加载功能应用时,用于构造所述功能应用的资源对象;
功能应用单元402,用于通过所述资源对象和该功能应用中的资源索引信息在指定路径中获取相应资源。
其中,所述宿主程序单元401位于所述宿主程序中,所述功能应用单元402位于所述功能应用中。
作为本申请的一个实施例,所述宿主程序单元还进一步用于将所述功能应用对应资源的路径信息作为指定路径写入所述资源对象中。
作为本申请的一个实施例,所述宿主程序单元还进一步用于将所述功能应用的路径信息作为指定路径写入到所述资源对象中;
或者,根据所述功能应用中的路径信息文件获得路径信息,将该路径信息作为指定路径写入到资源对象中。
作为本申请的一个实施例,所述宿主程序单元还进一步用于根据所述功能应用中的资源索引信息获得唯一标识符,根据所述唯一标识符确定所述指定路径,将所述指定路径写入到资源对象中。
作为本申请的一个实施例,所述功能应用单元还进一步用于从资源索引信息中获得唯一标识符,将所述唯一标识符发送给所述功能应用的上下文,所述功能应用的上下文将所述唯一标识符发送给资源对象,所述资源对象根据所述唯一标识符在制定的路径中获得相应资源,所述功能应用单元获得所述相应的资源。
通过上述本申请实施例的装置,可以在不更新宿主程序的同时,更新其下某个功能应用或者某个资源模块,从而实现更新相应资源,提高了软件更新的效率,并保证了软件的稳定性;此外,功能应用的模块化非常彻底,资源和代码都归属各自的模块,每个模块隔离非常干净,并且可以继续享受***对资源管理的优化,而且也增加了资源的命名空间。
如图5所示为本申请实施例一种生成Android功能应用具体方法的流程图,在该图中描述了在开发者端计算机生成功能应用的步骤,在本实施例中的功能应用为汇款功能应用,将该汇款功能应用所需资源、相应的R文件加入到该汇款功能应用的代码中一起生成汇款功能应用。
具体包括,步骤501,对汇款功能应用中涉及的资源分配唯一标识符。
其中,例如汇款功能应用中需要两个图片,分别给两个图片资源分配唯一标识符,例如为0x00010001和0x00010002,在本实施例中的唯一标识符第2个字节01表示该资源为图片资源,调用时需采用图片相关的接口进行读取,后面的0001和0002为这两个图片资源的顺序编号,如果有文本类型的资源,可以采用第2个字节为02的资源类型,更多的图片资源可以继续顺序编号。
步骤502,生成汇款功能应用的R文件。
本实施例中的R文件与现有技术中的R文件相同,在其中主要记录有功能应用的程序代码中资源名称和其对应的资源唯一标识符的对应关系。
步骤503,在汇款功能的代码中通过R文件来访问相应资源。
步骤504,将相应资源和R文件加入到所述汇款功能应用的代码中,打包生成汇款功能应用。
如图6所示为本申请实施例另一种生成Android功能应用具体方法的流程图,在该图中描述了在开发者端计算机生成功能应用的步骤,在本实施例中的功能应用依然为汇款功能应用,将R文件与该汇款功能应用的代码一起生成汇款功能应用,将该汇款功能应用所需资源单独生成一个资源模块。
具体包括,步骤601,对汇款功能应用中涉及的资源分配唯一标识符。
其中,例如汇款功能应用中需要两个图片,分别给两个图片资源分配唯一标识符,例如为0x01010001和0x01010002,在本实施例中的唯一标识符第1个字节01表示资源模块的ID,后面一个字节的01表示该资源为图片资源,调用时需采用图片相关的接口进行读取,后面的0001和0002为这两个图片资源的顺序编号,可以参考图7所示,如果有文本类型的资源,可以采用第2个字节为02的资源类型,更多的图片资源可以继续顺序编号。
所述资源的唯一标识符的资源模块ID位可以用于指示资源模块的ID,也可以指示为该功能应用模块的ID,例如通过00表示该汇款功能应用的相关资源位于该汇款功能应用中。
步骤602,生成汇款功能应用的R文件。
本实施例中的R文件与现有技术中的R文件相同,在其中主要记录有功能应用的程序代码中资源名称和其对应的资源唯一标识符的对应关系。
步骤603,在汇款功能应用的代码中通过R文件来访问相应资源。
步骤604,将所述R文件加入到汇款功能应用的代码中,生成汇款功能应用。
步骤605,将汇款功能应用涉及的资源打包生成资源模块。
其中所述资源模块具有上述的资源模块ID。
上述步骤604和605可以不分先后顺序。
通过上述两个实施例,可以将功能应用涉及的资源存储入该功能应用中,或者也可以存储入单独的资源模块中。
如图8所示为本申请实施例一种Android功能应用加载的具体方法流程图,在该实施例中,功能应用的宿主程序将该功能应用的资源位置路径信息写入为其构造的资源对象,因此功能应用可以访问到相关的资源,在本实施例中还是以汇款功能应用为例进行说明,并且在本实施例中汇款功能应用的资源存储于该汇款功能应用中。
步骤801,宿主程序构造汇款功能应用的资源对象。
其中,宿主程序可以获得该汇款功能应用的上下文,通过该上下文获得其中的资源对象。
步骤802,在所述资源对象中写入资源位置路径信息。
在本例中,相应于图5所示实施例,汇款功能应用的资源位置信息为该汇款功能应用内。
步骤803,当汇款功能应用需要调用相应资源时,从资源索引信息中获得资源唯一标识符。
由于在编译生成汇款功能应用时就已经包含了R文件的内容,因此在汇款功能应用中具有资源索引信息。
其中可以根据汇款功能应用调用资源的名称,在所述资源索引信息中匹配与资源名称相对应的资源唯一标识符,在本例中,获得的资源唯一标识符为0x01010001。
步骤804,将资源唯一标识符发送给所述上下文。
步骤805,所述上下文将资源唯一标识符发送给资源对象。
步骤806,所述资源对象根据资源位置路径信息在汇款功能应用内的资源中匹配与所述资源唯一标识符对应的资源。
其中,资源对象根据资源唯一标识符0x01010001,以针对01资源类型的图片获取方式获取0001序号的图片资源。
步骤807,所述资源对象将匹配得到的资源发送给所述上下文。
步骤808,所述上下文将所述资源发送给汇款功能应用。
如图9所示为本申请实施例另一种Android功能应用加载的具体方法流程图,在本实施例中对应于图6所示实施例,从单独的资源模块中获取资源,从而在不影响功能应用和宿主程序的前提下就可以实现单独更新资源模块。
具体包括步骤901,宿主程序构造汇款功能应用的资源对象。
步骤902,在所述资源对象中写入资源位置路径信息。
在本例中,相应于图5所示实施例,汇款功能应用的资源位置信息为单独的资源模块。
步骤903,当汇款功能应用需要调用相应资源时,从资源索引信息中获得资源唯一标识符。
其中可以根据汇款功能应用调用资源的名称,在所述字眼索引信息中匹配与资源名称相对应的资源唯一标识符,在本例中,获得的资源唯一标识符为0x01010001。
步骤904,将资源唯一标识符发送给所述上下文。
步骤905,所述上下文将资源唯一标识符发送给资源对象。
步骤906,所述资源对象根据资源位置路径信息在01号资源模块的资源中匹配与所述资源唯一标识符对应的资源。
其中,资源对象根据资源唯一标识符0x01010001,到01号资源模块中,以针对01资源类型的图片获取方式获取0001序号的图片资源。
步骤907,所述资源对象将匹配得到的资源发送给所述上下文。
步骤908,所述上下文将所述资源发送给汇款功能应用。
通过上述本申请实施例中的方法和装置,可以在不更新宿主程序的同时,更新其下某个功能应用或者某个资源模块,从而实现更新相应资源,提高了软件更新的效率,并保证了软件的稳定性;此外,开发者可以向开发原生Android应用一样使用资源,功能应用的模块化非常彻底,资源和代码都归属各自的模块,每个模块隔离非常干净,并且可以继续享受Android***对资源管理的优化,而且也增加了资源的命名空间。
对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(Programmable Logic Device,PLD)(例如现场可编程门阵列(Field Programmable Gate Array,FPGA))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字***“集成”在一片PLD上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片2。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logic compiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(Hardware Description Language,HDL),而HDL也并非仅有一种,而是有许多种,如ABEL(Advanced Boolean Expression Language)、AHDL(Altera Hardware Description Language)、Confluence、CUPL(Cornell UniversityProgramming Language)、HDCal、JHDL(Java Hardware Description Language)、Lava、Lola、MyHDL、PALASM、RHDL(Ruby Hardware Description Language)等,目前最普遍使用的是VHDL(Very-High-Speed Integrated Circuit Hardware Description Language)与Verilog2。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。
控制器可以按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:ARC 625D、AtmelAT91SAM、Microchip PIC18F26K20以及Silicone Labs C8051F320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。
本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
上述实施例阐明的***、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例或者实施例的某些部分所述的方法。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于***实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本申请可用于众多通用或专用的计算机***环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器***、基于微处理器的***、置顶盒、可编程的消费电子设备、网络PC、小型计算机、大型计算机、包括以上任何***或设备的分布式计算环境等等。
本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
虽然通过实施例描绘了本申请,本领域普通技术人员知道,本申请有许多变形和变化而不脱离本申请的精神,希望所附的权利要求包括这些变形和变化而不脱离本申请的精神。
Claims (18)
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中任意一项所述的方法,其特征在于,所述功能应用通过所述资源对象和该功能应用中的资源索引信息获得指定路径中的相应资源具体包括,所述功能应用从所述资源索引信息中获得唯一标识符,将所述唯一标识符发送给所述功能应用的上下文,所述功能应用的上下文将所述唯一标识符发送给资源对象,所述资源对象根据所述唯一标识符在指定的路径中获得相应资源,所述功能应用获得所述相应的资源。
10.一种生成功能应用的装置,其特征在于包括,
生成单元,用于给功能应用涉及的资源分配唯一标识符,生成该功能应用的R文件,所述R文件记录有资源索引信息;
打包单元,用于将所述R文件加入到功能应用的代码中编译生成功能应用。
11.根据权利要求10所述的装置,其特征在于,所述生成单元给功能应用涉及的资源分配唯一标识符中包括资源类型和资源序号。
12.根据权利要求11所述的装置,其特征在于,所述生成单元给功能应用涉及的资源分配唯一标识符中还包括该资源的模块ID。
13.根据权利要求10所述的装置,其特征在于,所述打包单元进一步用于将所述R文件和所述功能应用涉及资源的路径信息加入到所述功能应用的代码中编译生成功能应用。
14.一种功能应用动态加载资源的装置,其特征在于包括,
宿主程序单元,在宿主程序中加载功能应用时,用于构造所述功能应用的资源对象;
功能应用单元,用于通过所述资源对象和该功能应用中的资源索引信息在指定路径中获取相应资源。
15.根据权利要求14所述的装置,其特征在于,所述宿主程序单元还进一步用于将所述功能应用对应资源的路径信息作为指定路径写入所述资源对象中。
16.根据权利要求15所述的装置,其特征在于,所述宿主程序单元还进一步用于将所述功能应用的路径信息作为指定路径写入到所述资源对象中;
或者,根据所述功能应用中的路径信息文件获得路径信息,将该路径信息作为指定路径写入到资源对象中。
17.根据权利要求14所述的装置,其特征在于,所述宿主程序单元还进一步用于根据所述功能应用中的资源索引信息获得唯一标识符,根据所述唯一标识符确定所述指定路径,将所述指定路径写入到资源对象中。
18.根据权利要求15、16、17中任意一项所述的装置,其特征在于,所述功能应用单元还进一步用于从资源索引信息中获得唯一标识符,将所述唯一标识符发送给所述功能应用的上下文,所述功能应用的上下文将所述唯一标识符发送给资源对象,所述资源对象根据所述唯一标识符在制定的路径中获得相应资源,所述功能应用单元获得所述相应的资源。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510640328.4A CN106557343A (zh) | 2015-09-30 | 2015-09-30 | 生成功能应用及加载资源的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510640328.4A CN106557343A (zh) | 2015-09-30 | 2015-09-30 | 生成功能应用及加载资源的方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106557343A true CN106557343A (zh) | 2017-04-05 |
Family
ID=58417406
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510640328.4A Pending CN106557343A (zh) | 2015-09-30 | 2015-09-30 | 生成功能应用及加载资源的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106557343A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109799970A (zh) * | 2018-12-06 | 2019-05-24 | 珠海西山居移动游戏科技有限公司 | 一种资源引用关系生成方法及*** |
CN110245017A (zh) * | 2019-05-29 | 2019-09-17 | 华为技术有限公司 | 资源标识的分配方法和设备 |
CN110955474A (zh) * | 2018-09-27 | 2020-04-03 | 杭州海康威视***技术有限公司 | 一种应用***中业务添加、业务调用方法、装置及设备 |
CN111273910A (zh) * | 2020-01-14 | 2020-06-12 | 北京小米移动软件有限公司 | 获取资源号码标识符的方法、装置及存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1329309A (zh) * | 2000-06-13 | 2002-01-02 | 微软公司 | 操作***的多语言用户接口 |
CN1609799A (zh) * | 2003-10-23 | 2005-04-27 | 微软公司 | 资源清单 |
JP2009104250A (ja) * | 2007-10-19 | 2009-05-14 | Mitsubishi Electric Corp | 実行装置及びプログラム及び実行方法 |
CN102722370A (zh) * | 2012-05-24 | 2012-10-10 | 南京华设科技股份有限公司 | Android模块化开发方法 |
CN104123151A (zh) * | 2013-04-28 | 2014-10-29 | 百度在线网络技术(北京)有限公司 | 移动终端中应用程序的插件管理方法、装置和移动终端 |
CN104216751A (zh) * | 2014-09-30 | 2014-12-17 | 广州金山网络科技有限公司 | 一种应用程序的功能组件界面资源的加载方法及*** |
CN104714828A (zh) * | 2015-03-31 | 2015-06-17 | 北京奇虎科技有限公司 | 应用安装、运行方法及装置 |
-
2015
- 2015-09-30 CN CN201510640328.4A patent/CN106557343A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1329309A (zh) * | 2000-06-13 | 2002-01-02 | 微软公司 | 操作***的多语言用户接口 |
CN1609799A (zh) * | 2003-10-23 | 2005-04-27 | 微软公司 | 资源清单 |
JP2009104250A (ja) * | 2007-10-19 | 2009-05-14 | Mitsubishi Electric Corp | 実行装置及びプログラム及び実行方法 |
CN102722370A (zh) * | 2012-05-24 | 2012-10-10 | 南京华设科技股份有限公司 | Android模块化开发方法 |
CN104123151A (zh) * | 2013-04-28 | 2014-10-29 | 百度在线网络技术(北京)有限公司 | 移动终端中应用程序的插件管理方法、装置和移动终端 |
CN104216751A (zh) * | 2014-09-30 | 2014-12-17 | 广州金山网络科技有限公司 | 一种应用程序的功能组件界面资源的加载方法及*** |
CN104714828A (zh) * | 2015-03-31 | 2015-06-17 | 北京奇虎科技有限公司 | 应用安装、运行方法及装置 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110955474A (zh) * | 2018-09-27 | 2020-04-03 | 杭州海康威视***技术有限公司 | 一种应用***中业务添加、业务调用方法、装置及设备 |
CN110955474B (zh) * | 2018-09-27 | 2023-09-05 | 杭州海康威视***技术有限公司 | 一种应用***中业务添加、业务调用方法、装置及设备 |
CN109799970A (zh) * | 2018-12-06 | 2019-05-24 | 珠海西山居移动游戏科技有限公司 | 一种资源引用关系生成方法及*** |
CN110245017A (zh) * | 2019-05-29 | 2019-09-17 | 华为技术有限公司 | 资源标识的分配方法和设备 |
CN110245017B (zh) * | 2019-05-29 | 2024-03-26 | 华为技术有限公司 | 资源标识的分配方法和设备 |
CN111273910A (zh) * | 2020-01-14 | 2020-06-12 | 北京小米移动软件有限公司 | 获取资源号码标识符的方法、装置及存储介质 |
CN111273910B (zh) * | 2020-01-14 | 2023-09-05 | 北京小米移动软件有限公司 | 获取资源号码标识符的方法、装置及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10127218B2 (en) | Object templates for data-driven applications | |
CN106970822A (zh) | 一种容器创建方法及装置 | |
US8627274B2 (en) | Software tool and method for generating a virtual appliance | |
TWI354900B (en) | Method, system, and computer program product for a | |
US9841953B2 (en) | Pluggable components for runtime-image generation | |
CN110134668A (zh) | 应用于区块链的数据迁移方法、装置和设备 | |
CN108282518A (zh) | 一种客户端页面生成方法和装置 | |
CN108595187A (zh) | 安卓安装包集成软件开发工具包的法、装置及存储介质 | |
CN107203465A (zh) | ***接口测试方法及装置 | |
CN106557343A (zh) | 生成功能应用及加载资源的方法及装置 | |
CN106020877A (zh) | ***环境配置自动更新方法及装置 | |
CN108549562A (zh) | 一种图像加载的方法及装置 | |
CN109947643B (zh) | 一种基于a/b测试的实验方案的配置方法、装置及设备 | |
CN109241026A (zh) | 数据管理的方法、装置及*** | |
CN109344619A (zh) | 应用程序的热修复方法和装置 | |
CN110515647A (zh) | 一种静态资源管理方法、装置、设备和存储介质 | |
CN107592334A (zh) | 一种信息推广方法、装置及设备 | |
CN108320071A (zh) | 一种业务风险管理方法、装置及设备 | |
CN108304455A (zh) | 一种处理业务请求的方法、装置及设备 | |
CN108255471A (zh) | 一种基于配置套件的***配置项配置装置、方法及设备 | |
CN112604273B (zh) | 数据驱动的游戏***功能加载方法、设备及存储介质 | |
CN107016262A (zh) | 应用程序权限管理方法及客户端 | |
CN108345536A (zh) | 一种持续集成环境的部署方法、装置及设备 | |
CN107391099A (zh) | 一种资源预处理方法及装置 | |
CN109409037B (zh) | 一种数据混淆规则的生成方法、装置及设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 1235487 Country of ref document: HK |
|
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20170405 |
|
REG | Reference to a national code |
Ref country code: HK Ref legal event code: WD Ref document number: 1235487 Country of ref document: HK |