应用软件显示界面的皮肤更换方法及装置与流程

文档序号:13760169阅读:1153来源:国知局
应用软件显示界面的皮肤更换方法及装置与流程

本发明涉及计算机软件领域,具体而言,涉及一种应用软件显示界面的皮肤更换方法及装置。



背景技术:

目前,相关技术中所提供的计算机软件换肤操作通常可以包含以下步骤:

第一步、软件开发人员将界面皮肤所包含的资源,其可以包括:图片、动画以及音效打包成一个完整的皮肤文件,随同软件应用软件界面一同发布或者更新;

第二步、如果已经发布新的软件界面皮肤,通常存在以下两种方式使得用户完成皮肤更新:

方式一、在用户启动应用软件界面后,强制进行更新下载,并下载完成后直接加载新的皮肤并运行软件;

方式二、在初始运行软件时先加载旧皮肤,然后引导用户手动选择下载新皮肤,并下载完成后再进行新皮肤的加载操作;

第三步、读取新皮肤数据包中对应的资源,刷新整个软件界面。

从以上的步骤可以看出,这种换肤方法主要存在以下几个问题:

(1)整个软件界面通常仅对应一个皮肤包文件,而如果需要对界面的局部资源进行修改或者更新时,往往也需要发布新的皮肤包,由此易造成用户在进行皮肤更新时会增加一定程序的资源重复下载,不仅降低了资源利用率,而且还造成了带宽的浪费。

(2)用户在执行换肤操作之前,需要先主动或者被动地触发整套新皮肤的下载,等待下载完成后才能加载新皮肤,整个过程耗时较长,影响了用户体验。

(3)除了皮肤下载以外,用户的换肤操作往往是离线、独立的,因此无法实现在多个用户/客户端之间执行批量、同步的换肤操作;这种需求常见于一些平台软件,通过在特定的场景或者时间下为用户进行批量换肤可以营造出特别的氛围。因此,现有的换肤方式无法应对上述复杂多变的用户需求。

针对上述的问题,目前尚未提出有效的解决方案。



技术实现要素:

本发明实施例提供了一种应用软件显示界面的皮肤更换方法及装置,以至少解决相关技术中的整个软件界面通常仅对应一个皮肤包文件,而如果需要对界面的局部资源进行修改或者更新时,往往也需要重新发布完整的皮肤包,由此易造成用户在进行皮肤更新时会增加一定程序的资源重复下载,不仅降低了资源利用率,而且还造成了带宽的浪费的技术问题。

根据本发明实施例的一个方面,提供了一种应用软件显示界面的皮肤更换方法,包括:

在应用软件启动运行时,向服务器获取待更新的皮肤资源包集合,其中,皮肤资源包集合是通过对应用软件的应用界面对应的全部皮肤资源进行划分后得到的;对皮肤资源包集合进行加载,刷新应用界面。

可选地,向服务器获取皮肤资源包集合包括:在应用软件启动运行的触发下,向服务器获取配置文件,其中,配置文件用于记录在对全部皮肤资源进行划分后得到的所有皮肤资源包中每个皮肤资源包对应的存储位置信息、名称、最新版本号以及校验信息;对配置文件进行遍历,将配置文件中记录的所有皮肤资源包与本地当前存在的所有皮肤资源包进行比对,如果确定配置文件中存在部分或全部皮肤资源包未包含在本地的所有皮肤资源包中,则将尚未包含的部分或全部皮肤资源包加入至皮肤资源包集合,和/或,如果确定配置文件中存在部分或全部皮肤资源包的最新版本号高于本地对应的皮肤资源包的版本号,则将高于本地版本号的部分或全部皮肤资源包加入至皮肤资源包集合;将皮肤资源包集合下载至本地并存储在预设存储区域。

可选地,对皮肤资源包集合进行加载,刷新应用界面包括:根据皮肤资源包集合中每个皮肤资源包在应用界面的加载位置和名称分别获取每个皮肤资源包在本地的存储路径;根据存储路径分别加载每个皮肤资源包,刷新应用界面。

可选地,在对皮肤资源包集合进行加载,刷新应用界面之后,还包括:接收来自于服务器的更换应用界面皮肤请求,其中,更换应用界面皮肤请求是在满足预设条件或者达到预设时间点的情况下,由服务器触发的;根据更换应用界面皮肤请求,重新获取待更新的皮肤资源包集合;对重新获取到的皮肤资源包集合进行加载,再次刷新应用界面。

可选地,更换应用界面皮肤请求是由服务器通过单播或广播方式下发至本地的。

可选地,对全部皮肤资源进行划分的方式包括以下之一:按照应用界面的不同显示区域进行划分;按照应用界面对应的不同资源对象属性进行划分。

根据本发明实施例的另一方面,还提供了一种应用软件显示界面的皮肤更换装置,包括:

获取模块,用于在应用软件启动运行时,向服务器获取待更新的皮肤资源包集合,其中,皮肤资源包集合是通过对应用软件的应用界面对应的全部皮肤资源进行划分后得到的;加载模块,用于对皮肤资源包集合进行加载,刷新应用界面。

可选地,获取模块包括:第一获取单元,用于在应用软件启动运行的触发下,向服务器获取配置文件,其中,配置文件用于记录在对全部皮肤资源进行划分后得到的所有皮肤资源包中每个皮肤资源包对应的存储位置信息、名称、最新版本号以及校验信息;比对单元,用于对配置文件进行遍历,将配置文件中记录的所有皮肤资源包与本地当前存在的所有皮肤资源包进行比对,如果确定配置文件中存在部分或全部皮肤资源包未包含在本地的所有皮肤资源包中,则将尚未包含的部分或全部皮肤资源包加入至皮肤资源包集合,和/或,如果确定配置文件中存在部分或全部皮肤资源包的最新版本号高于本地对应的皮肤资源包的版本号,则将高于本地版本号的部分或全部皮肤资源包加入至皮肤资源包集合;下载单元,用于将皮肤资源包集合下载至本地并存储在预设存储区域。

可选地,加载模块包括:第二获取单元,用于根据皮肤资源包集合中每个皮肤资源包在应用界面的加载位置和名称分别获取每个皮肤资源包在本地的存储路径;加载单元,用于根据存储路径分别加载每个皮肤资源包,刷新应用界面。

可选地,上述装置还包括:接收模块,用于接收来自于服务器的更换应用界面皮肤请求,其中,更换应用界面皮肤请求是在满足预设条件或者达到预设时间点的情况下,由服务器触发的;获取模块,还用于根据更换应用界面皮肤请求,重新获取待更新的皮肤资源包集合;加载模块,还用于对重新获取到的皮肤资源包集合进行加载,再次刷新应用界面。

可选地,更换应用界面皮肤请求是由服务器通过单播或广播方式下发至本地的。

可选地,对全部皮肤资源进行划分的方式包括以下之一:按照应用界面的不同显示区域进行划分;按照应用界面对应的不同资源对象属性进行划分。

在本发明实施例中,采用在应用软件启动运行时,向服务器获取待更新的皮肤资源包集合,其中,皮肤资源包集合是通过对应用软件的应用界面对应的全部皮肤资源进行划分后得到的;对皮肤资源包集合进行加载,刷新应用界面的方式,通过将整体的皮肤资源包分割成不同部分,当需要对其中特定部分界面皮肤资源进行更新时时,只需要发布对应部分的皮肤资源包即可,而保持不变的部分界面无需重复下载的更新,从而实现了高效、灵活地管理软件界面皮肤资源的技术效果,进而解决了相关技术中的整个软件界面通常仅对应一个皮肤包文件,而如果需要对界面的局部资源进行修改或者更新时,往往也需要重新发布完整的皮肤包,由此易造成用户在进行皮肤更新时会增加一定程序的资源重复下载,不仅降低了资源利用率,而且还造成了带宽的浪费的技术问题。

附图说明

此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1是根据本发明实施例的应用软件显示界面的皮肤更换系统的结构示意图;

图2是根据本发明实施例的应用软件显示界面的皮肤更换方法的流程图;

图3是根据本发明优选实施例一的软件换肤方法的流程图;

图4是根据本发明优选实施例二的软件换肤方法的流程图;

图5是根据本发明优选实施例三的软件换肤方法的流程图;

图6是根据本发明优选实施例四的软件换肤方法的流程图;

图7是根据本发明实施例的应用软件显示界面的皮肤更换装置的结构框图;

图8是根据本发明优选实施例的应用软件显示界面的皮肤更换装置的结构框图。

具体实施方式

为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。

需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

本申请实施例所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。以运行在移动终端上为例,移动终端可以包括一个或多个(图中仅示出一个)处理器(该处理器可以包括但不限于微处理器(MCU)或可编程逻辑器件(FPGA)等的处理装置)、用于存储数据的存储器以及用于通信功能的传输装置。

存储器可用于存储应用软件的软件程序以及模块,如本发明实施例中的应用软件显示界面的皮肤更换方法对应的程序指令/模块,处理器通过运行存储在存储器内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的应用软件显示界面的皮肤更换方法。存储器可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器可进一步包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至移动终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

传输装置用于经由一个网络接收或者发送数据。上述的网络具体实例可包括移动终端的通信供应商提供的无线网络。在一个实例中,传输装置可以包括一个网络适配器(Network Interface Controller,简称为NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置可以为射频(Radio Frequency,简称为RF)模块,其用于通过无线方式与互联网进行通讯。

本申请实施例可以运行于图1所示的系统架构上。图1是根据本发明实施例的应用软件显示界面的皮肤更换系统的结构示意图。如图1所示,该系统旨在能够高效管理皮肤资源并且实现快速、平滑以及批量地换肤。该系统包括:客户端1和服务端2,其中,客户端1可以进一步包括:皮肤管理模块11和应用软件界面12;服务端2可以进一步包括:资源服务器21和换肤服务器22。各部分功能具体如下:

资源服务器21,负责维护以及发布皮肤资源。软件开发人员可以将应用软件界面对应的完整皮肤资源进行分割并打包后,将各部分皮肤资源包上传至资源服务器,然后由资源服务器进行发布。如果需要更新特定的皮肤资源包,则只需上传对应的皮肤资源包即可。

换肤服务器22,负责控制应用软件界面当前使用的皮肤类型以及控制应用软件界面进行换肤的时间。

皮肤管理模块11,负责从资源服务器更新与下载皮肤包资源、接收换肤服务器的换肤请求、通知应用软件界面加载/切换皮肤以及在应用软件界面刷新界面的时候提供对应的资源路径解析。

应用软件界面12,即进行换肤操作的实体,负责接收来自于皮肤管理模块的加载/切换皮肤的通知,然后进行界面刷新。

在具体实施过程中,首先,根据软件界面的不同区域或者对应资源文件的大小,将整个软件界面的皮肤资源分割成不同的部分,然后以压缩包的形式上传至资源服务器,这一步骤可称为“预分割皮肤”;

其次,在应用软件启动以后,皮肤管理模块向资源服务器请求分割后的各个皮肤资源包的最新版本号,若本地对应资源包的当前版本号低于最新版本号或本地尚未存在对应资源包时,则下载该皮肤资源包并进行校验,这一步骤可称为“预下载皮肤”;

再次,当本地资源已经与服务器资源同步时,皮肤管理模块便可以通知应用软件界面开始加载皮肤并刷新界面。在应用软件界面刷新过程中,应用软件界面可以向皮肤管理模块请求皮肤资源的路径。在应用软件界面各个部分都刷新成功后,便会完成一次完整的皮肤加载过程,这一步骤可称为“加载默认皮肤”。

此外,在应用软件运行期间,换肤服务器可以在任意的时间或者基于特定的条件向皮肤管理模块下发换肤指令,皮肤管理模块在接收到换肤指令后再触发应用软件界面通过上述流程加载新的皮肤,这一步骤可称为“切换新皮肤”。

通过上述步骤,当需要发布一套完整的新皮肤时,可以逐步发布不同的部分,由此可以避免一次性下载完整的皮肤资源包所导致的较长耗时问题。具体地,在预下载皮肤的过程中,只有初始状态下的第一套皮肤是需要一次性下载全部的皮肤资源包,但此后在每次更新皮肤的过程中,只需要下载特定部分的资源包,因此不会影响应用软件启动速度;并且,在后面加载皮肤时,由于皮肤资源已经预先下载完成,因此,可以立即执行加载和刷新操作。在切换皮肤的时候,皮肤管理模块解析资源路径并判断新皮肤下该部分的资源是否与旧皮肤相同,然后指示应用软件界面只刷新不同的区域。这种机制能够使得换肤过程变得十分迅速和平滑。

根据本发明实施例,提供了一种运行于上述系统的应用软件显示界面的皮肤更换方法的实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。

图2是根据本发明实施例的应用软件显示界面的皮肤更换方法的流程图,如图2所示,该方法包括如下步骤:

步骤S22,在应用软件启动运行时,向服务器获取待更新的皮肤资源包集合,其中,皮肤资源包集合是通过对应用软件的应用界面对应的全部皮肤资源进行划分后得到的;

步骤S24,对皮肤资源包集合进行加载,刷新应用界面。

通过上述步骤,可以实现通过将整体的皮肤资源包分割成不同部分,当需要对其中特定部分界面皮肤资源进行更新时时,只需要发布对应部分的皮肤资源包即可,而保持不变的部分界面无需重复下载的更新,从而实现了高效、灵活地管理软件界面皮肤资源的技术效果,进而解决了相关技术中的整个软件界面通常仅对应一个皮肤包文件,而如果需要对界面的局部资源进行修改或者更新时,往往也需要重新发布完整的皮肤包,由此易造成用户在进行皮肤更新时会增加一定程序的资源重复下载,不仅降低了资源利用率,而且还造成了带宽的浪费的技术问题。

在优选实施过程中,对全部皮肤资源进行划分的方式可以包括但不限于以下之一:

(1)按照应用界面的不同显示区域进行划分;

(2)按照应用界面对应的不同资源对象属性进行划分。

应用软件界面对应的全部皮肤资源的划分依据既可以是界面上的不同区域,例如:将界面上方、下方、左方、右方和中间的皮肤资源各划分成一部分;也可以是皮肤资源的不同对象属性,例如:将动画资源、图片资源、音频资源各划分成一部分。当然,具体划分方式并不局限于上述示例。

图3是根据本发明优选实施例一的软件换肤方法的流程图。如图3所示,该优选实施例是针对预分割皮肤来描述的,该优选实施例提供的皮肤分割方法包括以下处理步骤:

步骤S301、将应用软件界面的皮肤资源划分成不同的部分。

需要说明的是,划分出来的每个部分的资源不宜过大,否则会失去其灵活性;当然,也不宜过小,否则资源包数量过多,不利于管理和维护。具体的大小可根据实际需求设置在M×100千字节(kb)到N兆字节(mb)为宜,M和N均为正整数。

步骤S302、将不同部分的资源压缩成独立的资源包。

为了便于上传和下载,每个部分的资源都需要压缩成一个独立的资源包。资源包的命名方式可以由皮肤名字加划分为依据组合而成,例如:“skinA_left”和“skinA_right”。资源包了除了对应的资源文件外,还要包含一个记录该资源包版本号的文件,以便进行版本校验。具体地,为了满足多人协同开发的需要,例如:资源包内存在A和B两张图片,开发人员甲修改了图片A,并进行了提交和打包,而开发人员乙修改了图片B,在进行压缩打包前发现该资源包的最新版本号与该文件中记录的版本号不一致(因为开发人员甲在此之前修改了图片A),便会先按照开发人员甲所做的修改进行更新,然后再进行压缩打包。这样可以确保每次进行压缩打包时都能够得到最新的资源。

步骤S303、将各个资源包上传至资源服务器。

将各个资源包上传至资源服务器即完成了资源的发布。除了资源包以外,还需要上传一个记录各个资源包信息的配置文件。此后,当更改资源或增加新皮肤时,都是通过发布新的资源包的方式进行更新。例如:当需要修改原有皮肤A左边区域的资源,则会发布新的“skinA_left”资源包,且包含一个新的版本号即可,用户只需要下载该资源包即完成更新;如果需要发布新皮肤B,则需要把各个部分的皮肤包,包括“skinB_left”、“skinB_right”、……都进行发布。由于启动应用软件后需要进行预下载皮肤,因此可以将新皮肤的资源包逐次分批发布,而非一次性发布全部的包,这样可降低单次启动的耗时,增强用户体验。

步骤S304、生成并上传皮肤资源配置文件。

在资源包上传完成后,会得到存储资源包的统一资源定位符(URL)地址,然后,再将各个资源包的地址、名称、版本号以及校验码等信息记录在一个皮肤资源配置文件中,并上传该配置文件。

可选地,在步骤S22中,向服务器获取皮肤资源包集合可以包括以下执行步骤:

步骤S221,在应用软件启动运行的触发下,向服务器获取配置文件,其中,配置文件用于记录在对全部皮肤资源进行划分后得到的所有皮肤资源包中每个皮肤资源包对应的存储位置信息、名称、最新版本号以及校验信息;

步骤S222,对配置文件进行遍历,将配置文件中记录的所有皮肤资源包与本地当前存在的所有皮肤资源包进行比对,如果确定配置文件中存在部分或全部皮肤资源包未包含在本地的所有皮肤资源包中,则将尚未包含的部分或全部皮肤资源包加入至皮肤资源包集合,和/或,如果确定配置文件中存在部分或全部皮肤资源包的最新版本号高于本地对应的皮肤资源包的版本号,则将高于本地版本号的部分或全部皮肤资源包加入至皮肤资源包集合;

步骤S223,将皮肤资源包集合下载至本地并存储在预设存储区域。

皮肤管理模块通过遍历下载得到的皮肤资源配置文件,并与本地的资源包进行比较。在发生以下两种情况时会触发下载新的资源包:

第一种情况、皮肤资源配置文件中所记录的资源包不存在于本地,说明发布了新的皮肤,皮肤管理模块需要将该资源包加入下载队列(相当于上述皮肤资源包集合);

第二种情况、皮肤资源配置文件所记录的资源包虽存在于本地,但皮肤资源文件中所记录的该资源包的版本号高于本地对应资源包中所记录的版本号,说明资源包发生修改和更新;同样地,皮肤管理模块也需要将该资源包加入下载队列。在文件遍历完成之后,依次处理下载队列中的资源包。

图4是根据本发明优选实施例二的软件换肤方法的流程图。如图4所示,该优选实施例是针对皮肤管理模块来描述的,该优选实施例提供的换肤方法包括以下处理步骤:

步骤S401、在接收到来自于应用软件的启动通知后,向资源服务器请求获取皮肤资源配置文件。

在应用软件启动后,会请求皮肤管理模块更新本地的皮肤资源,皮肤管理模块会向资源服务器请求并下载上述皮肤资源配置文件,其中,该配置文件记录着当前所发布的最新的、完整的皮肤资源包信息。

步骤S402、对本地资源包进行版本校验并下载缺失或更新的资源包。

皮肤管理模块遍历下载得到的皮肤资源配置文件,与本地的资源包进行比较。在发生以下两种情况时会触发下载新的资源包:

第一种情况、皮肤资源配置文件中所记录的资源包不存在于本地,说明发布了新的皮肤,皮肤管理模块需要将该资源包加入下载队列;

第二种情况、皮肤资源配置文件所记录的资源包虽存在于本地,但皮肤资源文件中所记录的该资源包的版本号高于本地对应资源包中所记录的版本号,说明资源包发生修改和更新;同样地,皮肤管理模块也需要将该资源包加入下载队列。在文件遍历完成之后,若下载队列为空,则转至下一步骤;否则,依次处理下载队列中的资源包。

步骤S403、向换肤服务器请求获取默认皮肤类型。

当本地的资源文件已经更新至最新版本时,皮肤管理模块还可以向换肤服务器请求获取默认的皮肤类型。当然,也可以不进行请求,而是直接将默认皮肤类型预先配置在皮肤管理模块当中。

步骤S404、通知应用软件界面加载默认皮肤。

在获取到默认皮肤类型后,皮肤管理模块会通知应用软件界面加载默认皮肤。此处,需要注意的是,加载的皮肤类型对于应用软件界面而言是透明的,皮肤管理模块只是向应用软件发送一个加载皮肤的信号,触发应用软件刷新软件界面。

步骤S405、提供对应皮肤的资源路径解析。

步骤S406、若接收到换肤服务器的换肤请求,则通知应用软件界面切换新的皮肤。

换肤服务器可以在特定的场景或者时间下(根据不同产品的需求而定),向皮肤管理模块发送换肤请求,该发送方式既可以是单播也可以是广播。皮肤管理模块在接收到换肤请求后,再通知应用软件界面切换新的皮肤,应用软件刷新界面的时候将重复执行上述操作。皮肤管理模块会判断当前皮肤为新的皮肤,并返回新皮肤对应资源包的路径。各套皮肤相同的部分可以组合成一个资源包并命名成共享的名字,这样当皮肤管理模块解析资源路径时,如果发现新旧皮肤资源对应的路径一致,则可以通知应用软件界面不需要对这部分资源进行刷新,从而使得换肤过程更加快速、平滑。

可选地,在步骤S24中,对皮肤资源包集合进行加载,刷新应用界面可以包括以下执行步骤:

步骤S241,根据皮肤资源包集合中每个皮肤资源包在应用界面的加载位置和名称分别获取每个皮肤资源包在本地的存储路径;

步骤S242,根据存储路径分别加载每个皮肤资源包,刷新应用界面。

在客户端刷新应用软件界面的过程中,需要获取对应资源的地址,该地址由皮肤管理模块根据对应皮肤和资源包的名字解析得到。例如:应用软件需要加载界面左侧一个按钮X的图片,皮肤管理模块发现当前皮肤是皮肤A,则返回skinA_left/button_X.png的地址信息。

需要说明的是,上述命名方式仅作为参考示例,其并不构成对本发明的不当限制。当应用软件界面所有的资源都加载成功后,则完成一次皮肤加载。

图5是根据本发明优选实施例三的软件换肤方法的流程图。如图5所示,该优选实施例是针对应用软件界面来描述的,该优选实施例提供的换肤方法包括以下处理步骤:

步骤S501、请求皮肤管理模块更新皮肤资源。

在应用软件启动后,会请求皮肤管理模块更新本地的皮肤资源,皮肤管理模块会向资源服务器请求并下载上述皮肤资源配置文件,其中,该配置文件记录着当前所发布的最新的、完整的皮肤资源包信息。

皮肤管理模块遍历下载得到的皮肤资源配置文件,与本地的资源包进行比较。在发生以下两种情况时会触发下载新的资源包:

第一种情况、皮肤资源配置文件中所记录的资源包不存在于本地,说明发布了新的皮肤,皮肤管理模块需要将该资源包加入下载队列;

第二种情况、皮肤资源配置文件所记录的资源包虽存在于本地,但皮肤资源文件中所记录的该资源包的版本号高于本地对应资源包中所记录的版本号,说明资源包发生修改和更新;同样地,皮肤管理模块也需要将该资源包加入下载队列。在文件遍历完成之后,若下载队列为空,则转至下一步骤;否则,依次处理下载队列中的资源包。

步骤S502、在接收到来自于皮肤管理模块的通知后开始加载皮肤。

本地皮肤资源在与资源服务器上的皮肤资源成功完成同步之后,皮肤管理模块向应用软件界面发出加载皮肤的通知。如果接收到来自于皮肤管理模块的开始加载皮肤的通知,则应用软件开始刷新界面。

步骤S503、刷新界面时向皮肤管理模块请求对应资源文件的路径

在刷新界面的过程中,应用软件界面如果需要加载不同部分的资源,则会向皮肤管理模块请求对应资源文件的位置。

步骤S504、在各个部分资源刷新成功后,完成一次完整的皮肤加载过程。

如果应用软件界面的各个部分都成功加载到对应资源后,则完成一次皮肤加载过程。由于所有资源都已经预先下载完成(其可以存储在用户本地的终端内,该终端可以是电脑或者手机),因此,皮肤加载的过程十分迅速。

步骤S505、若再次接收到来自于皮肤管理模块的换肤通知,则重新刷新界面。

如果皮肤管理模块接收到来自于换肤服务器的换肤请求,则会通知应用软件界面进行换肤。应用软件界面在接收到来自于皮肤管理模块的换肤通知后,将重新刷新界面。同样地,由于新的皮肤资源也已经预先下载完成,因此,换肤过程将会十分平滑而迅速。

可选地,在步骤S24,对皮肤资源包集合进行加载,刷新应用界面之后,还可以包括以下执行步骤:

步骤S25,接收来自于服务器的更换应用界面皮肤请求,其中,更换应用界面皮肤请求是在满足预设条件或者达到预设时间点的情况下,由服务器触发的;

步骤S26,根据更换应用界面皮肤请求,重新获取待更新的皮肤资源包集合;

步骤S27,对重新获取到的皮肤资源包集合进行加载,再次刷新应用界面。

在优选实施过程中,上述更换应用界面皮肤请求是由服务器通过单播或广播方式下发至本地的。

根据不同产品的需求,换肤服务器可以在特定的时间或者条件下向皮肤管理模块发送换肤请求,请求信息中包含需要更换的皮肤类型。这一请求可以是以单播的形式发送,即通知特定的应用软件界面进行换肤;当然也可以是以广播的形式发送,即令多个客户端上的应用软件界面批量、同步地换肤。例如:需要在跨年时营造新年气氛。则换肤服务器可以在新年当天的0点0分向全体客户端广播一个换肤请求,然后客户端便会批量同步地更换上新年专用皮肤。

图6是根据本发明优选实施例四的软件换肤方法的流程图。如图6所示,该优选实施例是针对换肤服务器来描述的,该优选实施例提供的换肤方法包括以下处理步骤:

步骤S601、若接收到皮肤管理模块的请求,向皮肤管理模块发送当前皮肤类型。

皮肤管理模块可以向换肤服务器发送请求以获取当前皮肤类型。这种情况常见于在应用软件界面启动的时候,获取需要加载的默认皮肤。换肤服务器在接收到上述请求后,向上述皮肤管理模块发送当前皮肤类型的信息。

步骤S602、根据不同产品需求,向皮肤管理模块发送换肤请求。

根据不同产品的需求,换肤服务器可以在特定的时间或者条件下向皮肤管理模块发送换肤请求,请求信息中包含需要更换的皮肤类型。这一请求可以是以单播的形式发送,即通知特定的应用软件界面进行换肤;当然也可以是以广播的形式发送,即令多个客户端批量、同步地换肤。

由此可见,当换肤服务器的换肤指令以广播的方式下发时,即可实现多个客户端上的应用软件界面批量、同步地执行换肤操作。

根据本发明实施例,提供了一种运行于上述系统的应用软件显示界面的皮肤更换装置的实施例。图7是根据本发明实施例的应用软件显示界面的皮肤更换装置的结构框图,如图7所示,该装置可以包括:获取模块10,用于在应用软件启动运行时,向服务器获取待更新的皮肤资源包集合,其中,皮肤资源包集合是通过对应用软件的应用界面对应的全部皮肤资源进行划分后得到的;加载模块20,用于对皮肤资源包集合进行加载,刷新应用界面。

在优选实施过程中,对全部皮肤资源进行划分的方式可以包括但不限于以下之一:

(1)按照应用界面的不同显示区域进行划分;

(2)按照应用界面对应的不同资源对象属性进行划分。

应用软件界面对应的全部皮肤资源的划分依据既可以是界面上的不同区域,例如:将界面上方、下方、左方、右方和中间的皮肤资源各划分成一部分;也可以是皮肤资源的不同对象属性,例如:将动画资源、图片资源、音频资源各划分成一部分。当然,具体划分方式并不局限于上述示例。

可选地,图8是根据本发明优选实施例的应用软件显示界面的皮肤更换装置的结构框图,如图8所示,获取模块10可以包括:第一获取单元100,用于在应用软件启动运行的触发下,向服务器获取配置文件,其中,配置文件用于记录在对全部皮肤资源进行划分后得到的所有皮肤资源包中每个皮肤资源包对应的存储位置信息、名称、最新版本号以及校验信息;比对单元102,用于对配置文件进行遍历,将配置文件中记录的所有皮肤资源包与本地当前存在的所有皮肤资源包进行比对,如果确定配置文件中存在部分或全部皮肤资源包未包含在本地的所有皮肤资源包中,则将尚未包含的部分或全部皮肤资源包加入至皮肤资源包集合,和/或,如果确定配置文件中存在部分或全部皮肤资源包的最新版本号高于本地对应的皮肤资源包的版本号,则将高于本地版本号的部分或全部皮肤资源包加入至皮肤资源包集合;下载单元104,用于将皮肤资源包集合下载至本地并存储在预设存储区域。

皮肤管理模块通过遍历下载得到的皮肤资源配置文件,并与本地的资源包进行比较。在发生以下两种情况时会触发下载新的资源包:

第一种情况、皮肤资源配置文件中所记录的资源包不存在于本地,说明发布了新的皮肤,皮肤管理模块需要将该资源包加入下载队列;

第二种情况、皮肤资源配置文件所记录的资源包虽存在于本地,但皮肤资源文件中所记录的该资源包的版本号高于本地对应资源包中所记录的版本号,说明资源包发生修改和更新;同样地,皮肤管理模块也需要将该资源包加入下载队列。在文件遍历完成之后,依次处理下载队列中的资源包。

可选地,如图8所示,加载模块20可以包括:第二获取单元200,用于根据皮肤资源包集合中每个皮肤资源包在应用界面的加载位置和名称分别获取每个皮肤资源包在本地的存储路径;加载单元202,用于根据存储路径分别加载每个皮肤资源包,刷新应用界面。

在客户端刷新应用软件界面的过程中,需要获取对应资源的地址,该地址由皮肤管理模块根据对应皮肤和资源包的名字解析得到。例如:应用软件需要加载界面左侧一个按钮X的图片,皮肤管理模块发现当前皮肤是皮肤A,则返回skinA_left/button_X.png的地址信息。

需要说明的是,上述命名方式仅作为参考示例,其并不构成对本发明的不当限制。当应用软件界面所有的资源都加载成功后,则完成一次皮肤加载。

可选地,如图8所示,上述装置还可以包括:接收模块30,用于接收来自于服务器的更换应用界面皮肤请求,其中,更换应用界面皮肤请求是在满足预设条件或者达到预设时间点的情况下,由服务器触发的;获取模块10,还用于根据更换应用界面皮肤请求,重新获取待更新的皮肤资源包集合;加载模块20,还用于对重新获取到的皮肤资源包集合进行加载,再次刷新应用界面。

在优选实施过程中,上述更换应用界面皮肤请求是由服务器通过单播或广播方式下发至本地的。

根据不同产品的需求,换肤服务器可以在特定的时间或者条件下向皮肤管理模块发送换肤请求,请求信息中包含需要更换的皮肤类型。这一请求可以是以单播的形式发送,即通知特定的应用软件界面进行换肤;当然也可以是以广播的形式发送,即令多个客户端上的应用软件界面批量、同步地换肤。例如:需要在跨年时营造新年气氛。则换肤服务器可以在新年当天的0点0分向全体客户端广播一个换肤请求,然后客户端便会批量同步地更换上新年专用皮肤。

上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。

在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。

在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1