CN104166556A - 一种软件界面的更换方法、装置及终端 - Google Patents
一种软件界面的更换方法、装置及终端 Download PDFInfo
- Publication number
- CN104166556A CN104166556A CN201410429610.3A CN201410429610A CN104166556A CN 104166556 A CN104166556 A CN 104166556A CN 201410429610 A CN201410429610 A CN 201410429610A CN 104166556 A CN104166556 A CN 104166556A
- Authority
- CN
- China
- Prior art keywords
- software interface
- skin
- control
- software
- designated software
- 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
Landscapes
- Stored Programmes (AREA)
Abstract
本发明实施例公开了一种软件界面的更换方法,包括:接收针对指定软件界面的软件皮肤的加载指令;判断本地是否存储有所述软件皮肤对应的缓存文件,所述软件皮肤对应的缓存文件中包括所述指定软件界面中各控件的图片信息,以及所述各控件在所述指定软件界面中的位置和大小信息;若判断为是,获取所述软件皮肤对应的缓存文件;根据所述缓存文件中包括的所述指定软件界面中各控件的图片信息,以及所述各控件在所述指定软件界面中的位置和大小信息,将当前软件界面更换为所述指定软件界面。本发明实施例还公开了一种软件界面的更换装置和一种终端。采用本发明,可以提高软件皮肤加载的效率。
Description
技术领域
本发明涉及互联网技术领域,尤其涉及一种软件界面的更换方法、装置及终端。
背景技术
随着互联网技术的高速发展,各种类型的软件也越来越多。用户在使用软件时,一个用户喜欢的软件界面往往能提高用户的使用体验,因此,越来越多的软件厂商在自己的软件里加入了更换皮肤的功能,用户通过下载并使用不同的软件皮肤包,能够得到不同风格的软件界面展示。
但实践发现,目前用户通过使用软件皮肤包改变软件界面时,软件在每次加载软件皮肤时,均需要耗费大量的时间去解压软件皮肤包,以得到软件界面中各控件(如功能按钮、进度条、输入框)的图片,以及对应的布局文件(该布局文件描述了软件界面中各控件在软件界面中的位置和大小等),并对得到的图片和布局文件进行解码,最终展现软件界面,复杂的处理流程降低了软件皮肤加载的效率。
发明内容
本发明实施例所要解决的技术问题在于,提供一种软件界面的更换方法、装置及终端,可以提高软件皮肤加载的效率。
为了解决上述技术问题,本发明实施例提供了一种软件界面的更换方法,包括:
接收针对指定软件界面的软件皮肤的加载指令;
判断本地是否存储有所述软件皮肤对应的缓存文件,所述软件皮肤对应的缓存文件中包括所述指定软件界面中各控件的图片信息,以及所述各控件在所述指定软件界面中的位置和大小信息;
若判断为是,获取所述软件皮肤对应的缓存文件;
根据所述缓存文件中包括的所述指定软件界面中各控件的图片信息,以及所述各控件在所述指定软件界面中的位置和大小信息,将当前软件界面更换为所述指定软件界面。
相应地,本发明实施例还提供了一种软件界面的更换装置,包括:
接收模块,用于接收针对指定软件界面的软件皮肤的加载指令;
判断模块,用于判断本地是否存储有所述软件皮肤对应的缓存文件,所述软件皮肤对应的缓存文件中包括所述指定软件界面中各控件的图片信息,以及所述各控件在所述指定软件界面中的位置和大小信息;
第一获取模块,用于当所述判断模块判断为是时,获取所述软件皮肤对应的缓存文件;
第一更换模块,用于根据所述缓存文件中包括的所述指定软件界面中各控件的图片信息,以及所述各控件在所述指定软件界面中的位置和大小信息,将当前软件界面更换为所述指定软件界面。
相应地,本发明实施例还提供了一种终端,包括上述软件界面的更换装置。
实施本发明实施例,具有如下有益效果:
当接收到针对指定软件界面的软件皮肤的加载指令时,判断本地是否存储有软件皮肤对应的缓存文件,并当判断为是时,获取该软件皮肤对应的缓存文件,并根据该缓存文件中包括的该指定软件界面中各控件的图片信息,以及该各控件在该指定软件界面中的位置和大小信息,将当前软件界面更换为该指定软件界面,由于不再需要解压软件包,也不再需要解码软件包中的文件,从而提高了软件皮肤加载的效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种软件界面的更换方法的流程示意图;
图2是本发明实施例提供的另一种软件界面的更换方法的流程示意图;
图3是本发明实施例提供的另一种软件界面的更换方法的流程示意图;
图4是本发明实施例提供的一种软件界面的更换装置的结构示意图;
图5是本发明实施例提供的另一种软件界面的更换装置的结构示意图;
图6是本发明实施例提供的另一种软件界面的更换装置的结构示意图;
图7是本发明实施例提供的另一种软件界面的更换装置的结构示意图;
图8是本发明实施例提供的另一种软件界面的更换装置的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,为本发明实施例提供的一种软件界面的更换方法的流程示意图,可以包括以下步骤:
步骤101、接收针对指定软件界面的软件皮肤的加载指令。
本发明实施例中,软件可以包括浏览器软件、杀毒软件、即时通讯软件等,本发明实施例不做限定。
本发明实施例中,指定软件界面可以包括软件的主界面、软件的具体功能界面,如,即时通讯软件的聊天窗口界面等,本发明实施例不做限定。
本发明实施例中,针对指定软件界面的软件皮肤的加载指令可以包括软件运行指令、软件皮肤设置指令、软件皮肤更换指令等,本发明实施例不做限定。
举例来说,以针对指定软件界面的软件皮肤的加载指令为软件运行指令为例,当用户运行某软件时,该软件客户端可以确定当前使用的软件皮肤(若用户未更换过软件皮肤,则该当前使用的软件皮肤为软件安装时的默认软件皮肤,若用户更换过软件皮肤,则该当前使用的软件皮肤为上一次用户选择使用的软件皮肤),并加载当前使用的软件皮肤,以展示软件界面。
又举例来说,以针对指定软件界面的软件皮肤的加载指令为软件皮肤更换指令为例,在软件运行过程中,用户可以通过点击软件主界面中或功能菜单中的“皮肤更换”按钮,并选择想要更换的软件皮肤的方式更换该软件的软件皮肤,此时,该软件客户端可以加载该用户请求更换的软件皮肤,更新展示的软件界面。
步骤102、判断本地是否存储有该软件皮肤对应的缓存文件,该软件皮肤对应的缓存文件中包括该指定软件界面中各控件的图片信息,以及各控件在该指定软件界面中的位置和大小信息。
本发明实施例中,为了提高软件皮肤的加载效率,当接收到软件皮肤的加载指令时,并不会直接根据软件皮肤对应的皮肤包进行加载,而是需要先判断本地是否存储有该软件皮肤对应的缓存文件,该软件皮肤对应的缓存文件中包括该指定软件界面中各控件(如软件界面中功能按钮、进度条、输入框等)的图片信息,以及各控件在该指定软件界面中的位置和大小信息。
其中,该软件皮肤对应的缓存文件中包括的该指定软件界面中各控件的图片信息,以及各控件在该指定软件界面中的位置和大小信息,为软件客户端对该软件皮肤对应的皮肤进行解压,并对解压得到的皮肤包中包括的该指定界面中各控件的图片文件,以及布局文件进行解码后得到的,即该指定软件界面中各控件的图片信息,以及各控件在该指定软件界面中的位置和大小信息即为解码后的该指定界面中各控件的图片文件,以及布局文件。其中,该布局文件用于描述该指定软件界面中各控件在该指定软件界面中的位置和大小。
步骤103、当判断结果为是时,获取该软件皮肤对应的缓存文件。
步骤104、根据该缓存文件中包括的该指定软件界面中各控件的图片信息,以及各控件在该指定软件界面中的位置和大小信息,将当前软件界面更换为该指定软件界面。
本发明实施例中,当判断本地存储有该软件皮肤对应的缓存文件时,软件客户端可以直接根据该缓存文件中包括的该指定软件界面中各控件的图片信息,以及各控件在该指定软件界面中的位置和大小信息,将当前软件界面更换为该指定软件界面,从而省去了解压皮肤包,解码图片文件、布局文件等一系列步骤,提高了软件皮肤加载的效率。
如图2所示,为本发明实施例提供的另一种软件界面的更换方法流程示意图,可以包括以下步骤:
步骤201、接收针对指定软件界面的软件皮肤的加载指令。
步骤202、判断本地是否存储有该软件皮肤对应的缓存文件,该软件皮肤对应的缓存文件包括该指定软件界面中各控件的图片信息,以及各控件在指定软件界面中的位置和大小信息。若判断为是,转至步骤203;否则,转至步骤205。
本发明实施例中,为了提高软件皮肤的加载效率,当接收到软件皮肤的加载指令时,并不会直接根据软件皮肤对应的皮肤包进行加载,而是需要先判断本地是否存储有该软件皮肤对应的缓存文件,该软件皮肤对应的缓存文件中包括该指定软件界面中各控件(如软件界面中功能按钮、进度条、输入框等)的图片信息,以及各控件在该指定软件界面中的位置和大小信息。
其中,该软件皮肤对应的缓存文件中包括的该指定软件界面中各控件的图片信息,以及各控件在该指定软件界面中的位置和大小信息,为软件客户端对该软件皮肤对应的皮肤进行解压,并对解压得到的皮肤包中包括的该指定界面中各控件的图片文件,以及布局文件进行解码后得到的,即该指定软件界面中各控件的图片信息,以及各控件在该指定软件界面中的位置和大小信息即为解码后的该指定界面中各控件的图片文件,以及布局文件。其中,该布局文件用于描述该指定软件界面中各控件在该指定软件界面中的位置和大小。
步骤203、获取该软件皮肤对应的缓存文件。
步骤204、根据该缓存文件中包括的该指定软件界面中各控件的图片信息,以及各控件在该指定软件界面中的位置和大小信息,将当前软件界面更换为该指定软件界面。
本发明实施例中,当判断本地存储有该软件皮肤对应的缓存文件时,软件客户端可以直接根据该缓存文件中包括的该指定软件界面中各控件的图片信息,以及各控件在该指定软件界面中的位置和大小信息,将当前软件界面更换为该指定软件界面,从而省去了解压皮肤包,解码图片文件、布局文件等一系列步骤,提高了软件皮肤加载的效率。
步骤205、获取该软件皮肤对应的皮肤包。
步骤206、对该皮肤包进行解压,以得到该皮肤包中包括的该指定软件界面中各控件的图片文件,以及布局文件,该布局文件用于描述该指定软件界面中各控件在该指定软件界面中的位置和大小。
步骤207、对该图片文件以及布局文件进行解码,以得到该指定软件界面中各控件的图片信息,以及各控件在该指定软件界面中的位置和大小信息。
步骤208、根据解码得到的该指定软件界面中各控件的图片信息,以及各控件在该指定软件界面中的位置和大小信息,将当前软件界面更换为该指定软件界面。
本发明实施例中,当判断本地未存储有该软件皮肤对应的缓存文件时,软件客户端可以获取该软件皮肤对应的皮肤包。
其中,获取软件皮肤对应的皮肤包可以包括以下步骤:
步骤11)、判断本地是否存储有该软件皮肤对应的皮肤包;
步骤12)、若判断为是,获取本地存储的该软件皮肤对应的皮肤包;
步骤13)、若判断为否,从服务器获取该软件皮肤对应的皮肤包。
即在本发明实施例中,当软件客户端判断本地未存储有该软件皮肤(即软件皮肤的加载指令指示加载的软件皮肤)对应的缓存文件时,确定需要加载该软件皮肤对应的皮肤包;此时,软件客户端可以先判断本地是否存储有该软件皮肤对应的皮肤包,即软件客户端是否已经从服务器中下载了该软件皮肤对应的皮肤包并存储在本地,若判断为是,即本地存储有该软件皮肤对应的皮肤包,则软件客户端可以直接获取本地存储的该软件皮肤对应的皮肤包;否则,即本地未存储该软件皮肤对应的皮肤包,则软件客户端可以从服务器获取该软件皮肤对应的皮肤包,即从服务器中下载该软件皮肤对应的皮肤包。
本发明实施例中,当获取到软件皮肤对应的皮肤包后,可以对该皮肤包进行解压,以得到该皮肤包中包括的该指定软件界面中各控件的图片文件,以及布局文件,该布局文件用于描述该指定软件界面中各控件在该指定软件界面中的位置和大小,并进一步对该图片文件,以及布局文件进行解码,以得到该指定软件界面中各控件的图片信息,以及各控件在该指定软件界面中的位置和大小信息,从而根据解码得到的该指定软件界面中各控件的图片信息,以及各控件信息在该指定软件界面中的位置和大小信息,将当前软件界面更换为该指定软件界面。
如图3所示,为本发明实施例提供的另一种软件界面的更换方法的流程示意图,可以包括以下步骤:
步骤301、接收针对指定软件界面的软件皮肤的加载指令。
步骤302、判断本地是否存储有该软件皮肤对应的缓存文件,该软件皮肤对应的缓存文件包括该指定软件界面中各控件的图片信息,以及各控件在指定软件界面中的位置和大小信息。若判断为是,转至步骤303;否则,转至步骤305。
本发明实施例中,为了提高软件皮肤的加载效率,当接收到软件皮肤的加载指令时,并不会直接根据软件皮肤对应的皮肤包进行加载,而是需要先判断本地是否存储有该软件皮肤对应的缓存文件,该软件皮肤对应的缓存文件中包括该指定软件界面中各控件(如软件界面中功能按钮、进度条、输入框等)的图片信息,以及各控件在该指定软件界面中的位置和大小信息。
其中,该软件皮肤对应的缓存文件中包括的该指定软件界面中各控件的图片信息,以及各控件在该指定软件界面中的位置和大小信息,为软件客户端对该软件皮肤对应的皮肤进行解压,并对解压得到的皮肤包中包括的该指定界面中各控件的图片文件,以及布局文件进行解码后得到的,即该指定软件界面中各控件的图片信息,以及各控件在该指定软件界面中的位置和大小信息即为解码后的该指定界面中各控件的图片文件,以及布局文件。其中,该布局文件用于描述该指定软件界面中各控件在该指定软件界面中的位置和大小。
步骤303、获取该软件皮肤对应的缓存文件。
步骤304、根据该缓存文件中包括的该指定软件界面中各控件的图片信息,以及各控件在该指定软件界面中的位置和大小信息,将当前软件界面更换为该指定软件界面。
本发明实施例中,当判断本地存储有该软件皮肤对应的缓存文件时,软件客户端可以直接根据该缓存文件中包括的该指定软件界面中各控件的图片信息,以及各控件在该指定软件界面中的位置和大小信息,将当前软件界面更换为该指定软件界面,从而省去了解压皮肤包,解码图片文件、布局文件等一系列步骤,提高了软件皮肤加载的效率。
步骤305、获取该软件皮肤对应的皮肤包。
步骤306、对该皮肤包进行解压,以得到该皮肤包中包括的该指定软件界面中各控件的图片文件,以及布局文件,该布局文件用于描述该指定软件界面中各控件在该指定软件界面中的位置和大小。
步骤307、对该图片文件以及布局文件进行解码,以得到该指定软件界面中各控件的图片信息,以及各控件在该指定软件界面中的位置和大小信息。
步骤308、根据解码得到的该指定软件界面中各控件的图片信息,以及各控件在该指定软件界面中的位置和大小信息,将当前软件界面更换为该指定软件界面。
本发明实施例中,当判断本地未存储有该软件皮肤对应的缓存文件时,软件客户端可以获取该软件皮肤对应的皮肤包。
其中,获取软件皮肤对应的皮肤包可以包括以下步骤:
步骤21)、判断本地是否存储有该软件皮肤对应的皮肤包;
步骤22)、若判断为是,获取本地存储的该软件皮肤对应的皮肤包;
步骤23)、若判断为否,从服务器获取该软件皮肤对应的皮肤包。
即在本发明实施例中,当软件客户端判断本地未存储有该软件皮肤(即软件皮肤的加载指令指示加载的软件皮肤)对应的缓存文件时,确定需要加载该软件皮肤对应的皮肤包;此时,软件客户端可以先判断本地是否存储有该软件皮肤对应的皮肤包,即软件客户端是否已经从服务器中下载了该软件皮肤对应的皮肤包并存储在本地,若判断为是,即本地存储有该软件皮肤对应的皮肤包,则软件客户端可以直接获取本地存储的该软件皮肤对应的皮肤包;否则,即本地未存储该软件皮肤对应的皮肤包,则软件客户端可以从服务器获取该软件皮肤对应的皮肤包,即从服务器中下载该软件皮肤对应的皮肤包。
本发明实施例中,当获取到软件皮肤对应的皮肤包后,可以对该皮肤包进行解压,以得到该皮肤包中包括的该指定软件界面中各控件的图片文件,以及布局文件,该布局文件用于描述该指定软件界面中各控件在该指定软件界面中的位置和大小,并进一步对该图片文件,以及布局文件进行解码,以得到该指定软件界面中各控件的图片信息,以及各控件在该指定软件界面中的位置和大小信息,从而根据解码得到的该指定软件界面中各控件的图片信息,以及各控件信息在该指定软件界面中的位置和大小信息,将当前软件界面更换为该指定软件界面。
步骤309、根据该解码得到的该指定软件界面中各控件的图片信息,以及各控件在该指定软件界面中的位置和大小信息,生成该软件皮肤对应的缓存文件,并将该软件皮肤对应的缓存文件在本地进行存储。
本发明实施例中,软件客户端对软件皮肤对应的皮肤包进行解压得到该指定软件界面中各控件的图片文件,以及布局文件,并对该图片文件以及布局文件进行解码后,还可以根据该解码得到的该指定软件界面中各控件的图片信息,以及各控件在该指定软件界面中的位置和大小信息,生成该软件皮肤对应的缓存文件,并将该软件皮肤对应的缓存文件在本地进行存储,从而,当需要再次加载该软件皮肤时,可以直接根据该软件皮肤对应的缓存文件进行加载,省去了解压皮肤包,解码图片文件、布局文件等一系列步骤,提高了软件皮肤加载的效率。
本发明实施例中,根据解码得到的该指定软件界面中各控件的图片信息,以及各控件在该指定软件界面中的位置和大小信息,生成该软件皮肤对应的缓存文件,可以包括以下步骤:
步骤31)、为该解码得到的该指定软件界面中各控件的图片信息,以及各控件在该指定软件界面中的位置和大小信息,分配内存控件;其中,该内存空间的大小为该解码得到的该指定软件界面中各控件的图片信息,以及各控件在该指定软件界面中的位置和大小信息的大小的总和;
步骤32)、将解码得到的该指定软件界面中各控件的图片信息,以及各控件在该指定软件界面中的位置和大小信息,合并写入该内存控件;
步骤33)、根据该内存控件中的数据生成该软件皮肤对应的缓存文件。
作为一种优选的实施例,在本发明实施例中,为解码得到的指定软件界面中各控件的图片信息,以及各控件在该指定软件界面中的位置和大小信息分配内存控件时,可以分配一段连续的内存控件,进而,在生成软件皮肤对应的缓存文件时,可以直接读取该连续内存控件中的数据,提高了缓存文件的生成效率。
需要注意的是,在本发明实施例中,上述步骤308与步骤309并不存在绝对的时序关系,即本发明实施例中,可以先执行步骤308,后执行步骤309;也可以先执行步骤309,后执行步骤308,本发明实施例不做限定。
举例来说,假设服务器端生成软件皮肤的皮肤包时,根据软件开发人员提供的软件界面设计图,将该软件界面设计图中各控件保存为png(PortableNetwork Graphic,可移植的网络文件图像格式)图片文件,并使用xml(ExtensiveMarkup Language,可扩展标记语言)或json(JavaScript Object Notation,基于JavaScript语言的轻量级的数据交换格式)等语言描述各个控件在软件界面中的位置和大小信息,形成布局文件(xml格式或json格式),并将该图片文件和布局文件压缩到一个文件中,形成软件皮肤的皮肤包。
当软件客户端获取到软件皮肤的皮肤包后,可以通过zlib、7z等第三方库解压该皮肤包,获取其中的xml文件或/和json文件(即布局文件),以及png文件(即图片文件),进而使用tinyxml、json、libpng等第三方库解码获取到的xml文件、json文件、png文件等文件,此后,可以一方面根据解码后的布局文件和图片文件,展示对应的软件界面;另一方面,可以分配一段连续的内存空间,该内存控件的大小为解码后的xml文件、json文件以及png文件的大小的总和,并将解码后的xml文件、json文件以及png文件合并并写入该内存控件,进而将该内存控件中的数据保存到硬盘,形成缓存文件,从而,当用户需要再次加载该软件界面的该软件皮肤时,可以读取硬盘中存储的该软件皮肤的缓存文件,直接使用缓存文件中的解码后的xml、json、png信息展示该软件界面,省去了解压皮肤包,解码xml文件、json文件以及png文件文件等一系列步骤,提高了软件皮肤加载的效率。
通过以上描述可以看出,在本发明实施例提供的技术方案中,当接收到针对指定软件界面的软件皮肤的加载指令时,判断本地是否存储有软件皮肤对应的缓存文件,并当判断为是时,获取该软件皮肤对应的缓存文件,并根据该缓存文件中包括的该指定软件界面中各控件的图片信息,以及该各控件在该指定软件界面中的位置和大小信息,将当前软件界面更换为该指定软件界面,将当前软件界面更换为提高了软件皮肤加载的效率。
基于上述方法实施例相同的技术构思,本发明实施例还提供了一种软件界面的更换装置,可以应用于上述方法实施例。
如图4所示,为本发明实施例提供的一种软件界面的更换装置,可以包括:
接收模块401,用于接收针对指定软件界面的软件皮肤的加载指令;
判断模块402,用于判断本地是否存储有所述软件皮肤对应的缓存文件,所述软件皮肤对应的缓存文件中包括所述指定软件界面中各控件的图片信息,以及所述各控件在所述指定软件界面中的位置和大小信息;
第一获取模块403,用于当所述判断模块402判断为是时,获取所述软件皮肤对应的缓存文件;
第一更换模块404,用于根据所述缓存文件中包括的所述指定软件界面中各控件的图片信息,以及所述各控件在所述指定软件界面中的位置和大小信息,将当前软件界面更换为所述指定软件界面。
请一并参阅图5,图5是本发明实施例公开的另一种软件界面的更换装置的结构示意图。其中,图5所示的软件界面的更换装置是由图4所示的软件界面的更换装置进行优化得到的,与图4所示的软件界面的更换装置相比,图5所示的软件界面的更换装置还可以包括:
第二获取模块405,用于当所述判断模块402判断为否时,获取所述软件皮肤对应的皮肤包;
解压模块406,以用于对所述皮肤包进行解压,以得到所述皮肤包中包括的所述指定软件界面中各控件的图片文件,以及布局文件;其中,所述布局文件用于描述所述指定软件界面中各控件在所述指定软件界面中的位置和大小;
解码模块407,用于对所述图片文件,以及所述布局文件进行解码,以得到所述指定软件界面中各控件的图片信息,以及各控件在所述指定软件界面中的位置和大小信息;
第二更换模块408,用于根据解码得到的所述指定软件界面中各控件的图片信息,以及各控件在所述指定软件界面中的位置和大小信息,将当前软件界面更换为所述指定软件界面。
请一并参阅图6,图6是本发明实施例公开的另一种软件界面的更换装置的结构示意图。其中,图6所示的软件界面的更换装置是由图5所示的软件界面的更换装置进行优化得到的,与图5所示的软件界面的更换装置相比,图6所示的软件界面的更换装置中,所述第二获取模块405可以包括:
判断单元4051,用于判断本地是否存储有所述软件皮肤对应的皮肤包;
获取单元4052,用于当所述判断单元判断为是时,获取本地存储的所述软件皮肤对应的皮肤包;当所述判断单元判断为否时,从服务器获取所述软件皮肤对应的皮肤包。
请一并参阅图7,图7是本发明实施例公开的另一种软件界面的更换装置的结构示意图。其中,图7所示的软件界面的更换装置是由图5所示的软件界面的更换装置进行优化得到的,与图5所示的软件界面的更换装置相比,图7所示的软件界面的更换装置还可以包括:
生成模块409,用于根据所述解码得到的所述指定软件界面中各控件的图片信息,以及各控件在所述指定软件界面中的位置和大小信息,生成所述软件皮肤对应的缓存文件;
存储模块410,用于将所述软件皮肤对应的缓存文件在本地进行存储。
作为一种可选的实施方式,图7所示的软件界面的更换装置中,所述生成模块409可以包括:
分配单元4091,用于为所述解码得到的所述指定软件界面中各控件的图片信息,以及各控件在所述指定软件界面中的位置和大小信息,分配内存空间;其中,所述内存空间的大小为所述解码得到的所述指定软件界面中各控件的图片信息,以及各控件在所述指定软件界面中的位置和大小信息的大小的总和;
写入单元4092,用于将解码得到的所述指定软件界面中各控件的图片信息,以及各控件在所述指定软件界面中的位置和大小信息,合并写入所述内存空间;
生成单元4093,用于根据所述内存空间中的数据生成所述软件皮肤对应的缓存文件。
优选地,所述分配单元4091可以具体用于,为所述解码得到的所述指定软件界面中各控件的图片信息,以及各控件在所述指定软件界面中的位置和大小信息,分配一段连续的内存空间。
图8是本发明实施例中提供的另一种软件界面的更换装置的结构示意图。如图8所示,该软件界面的更换装置包括:至少一个处理器801,例如CPU,至少一个用户接口803,存储器804,至少一个通信总线802。其中,通信总线802用于实现这些组件之间的连接通信。其中,用户接口803可以包括显示屏(Display)、键盘(Keyboard),可选用户接口803还可以包括标准的有线接口、无线接口。存储器804可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。存储器804可选的还可以是至少一个位于远离前述处理器801的存储装置。其中存储器804中存储一组程序代码,且处理器801调用存储器804中存储的程序代码,用于执行以下操作:
接收针对指定软件界面的软件皮肤的加载指令;
判断本地是否存储有所述软件皮肤对应的缓存文件,所述软件皮肤对应的缓存文件中包括所述指定软件界面中各控件的图片信息,以及所述各控件在所述指定软件界面中的位置和大小信息;
若判断为是,获取所述软件皮肤对应的缓存文件;
根据所述缓存文件中包括的所述指定软件界面中各控件的图片信息,以及所述各控件在所述指定软件界面中的位置和大小信息,将当前软件界面更换为所述指定软件界面。
在可选实施例中,处理器801调用存储器804中存储的程序代码判断本地是否存储有所述软件皮肤对应的缓存文件之后,还可以执行以下操作:
若判断为否,获取所述软件皮肤对应的皮肤包;
对所述皮肤包进行解压,以得到所述皮肤包中包括的所述指定软件界面中各控件的图片文件,以及布局文件;其中,所述布局文件用于描述所述指定软件界面中各控件在所述指定软件界面中的位置和大小;
对所述图片文件,以及所述布局文件进行解码,以得到所述指定软件界面中各控件的图片信息,以及各控件在所述指定软件界面中的位置和大小信息;
根据解码得到的所述指定软件界面中各控件的图片信息,以及各控件在所述指定软件界面中的位置和大小信息,将当前软件界面更换为所述指定软件界面。
在可选实施例中,处理器801调用存储器804中存储的程序代码获取所述软件皮肤对应的皮肤包,可以具体包括:
判断本地是否存储有所述软件皮肤对应的皮肤包;
若判断为是,获取本地存储的所述软件皮肤对应的皮肤包;否则,从服务器获取所述软件皮肤对应的皮肤包。
在可选实施例中,处理器801调用存储器804中存储的程序代码对所述图片文件,以及所述布局文件进行解码之后,还可以执行以下操作:
根据所述解码得到的所述指定软件界面中各控件的图片信息,以及各控件在所述指定软件界面中的位置和大小信息,生成所述软件皮肤对应的缓存文件;
将所述软件皮肤对应的缓存文件在本地进行存储。
在可选实施例中,处理器801调用存储器804中存储的程序代码根据所述解码得到的所述指定软件界面中各控件的图片信息,以及各控件在所述指定软件界面中的位置和大小信息,生成所述软件皮肤对应的缓存文件,可以具体包括:
为所述解码得到的所述指定软件界面中各控件的图片信息,以及各控件在所述指定软件界面中的位置和大小信息,分配内存空间;其中,所述内存空间的大小为所述解码得到的所述指定软件界面中各控件的图片信息,以及各控件在所述指定软件界面中的位置和大小信息的大小的总和;
将解码得到的所述指定软件界面中各控件的图片信息,以及各控件在所述指定软件界面中的位置和大小信息,合并写入所述内存空间;
根据所述内存空间中的数据生成所述软件皮肤对应的缓存文件。
在可选实施例中,处理器801调用存储器804中存储的程序代码为所述解码得到的所述指定软件界面中各控件的图片信息,以及各控件在所述指定软件界面中的位置和大小信息,分配内存空间,可以具体包括:
为所述解码得到的所述指定软件界面中各控件的图片信息,以及各控件在所述指定软件界面中的位置和大小信息,分配一段连续的内存空间。
本发明实施例还提供了一种终端,可以包括如图4-8所示的任一软件界面的更换装置。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。
Claims (13)
1.一种软件界面的更换方法,其特征在于,包括:
接收针对指定软件界面的软件皮肤的加载指令;
判断本地是否存储有所述软件皮肤对应的缓存文件,所述软件皮肤对应的缓存文件中包括所述指定软件界面中各控件的图片信息,以及所述各控件在所述指定软件界面中的位置和大小信息;
若判断为是,获取所述软件皮肤对应的缓存文件;
根据所述缓存文件中包括的所述指定软件界面中各控件的图片信息,以及所述各控件在所述指定软件界面中的位置和大小信息,将当前软件界面更换为所述指定软件界面。
2.如权利要求1所述的方法,其特征在于,所述判断本地是否存储有所述软件皮肤对应的缓存文件之后,还包括:
若判断为否,获取所述软件皮肤对应的皮肤包;
对所述皮肤包进行解压,以得到所述皮肤包中包括的所述指定软件界面中各控件的图片文件,以及布局文件;其中,所述布局文件用于描述所述指定软件界面中各控件在所述指定软件界面中的位置和大小;
对所述图片文件,以及所述布局文件进行解码,以得到所述指定软件界面中各控件的图片信息,以及各控件在所述指定软件界面中的位置和大小信息;
根据解码得到的所述指定软件界面中各控件的图片信息,以及各控件在所述指定软件界面中的位置和大小信息,将当前软件界面更换为所述指定软件界面。
3.如权利要求2所述的方法,其特征在于,所述获取所述软件皮肤对应的皮肤包,包括:
判断本地是否存储有所述软件皮肤对应的皮肤包;
若判断为是,获取本地存储的所述软件皮肤对应的皮肤包;否则,从服务器获取所述软件皮肤对应的皮肤包。
4.如权利要求2所述的方法,其特征在于,对所述图片文件,以及所述布局文件进行解码之后,还包括:
根据所述解码得到的所述指定软件界面中各控件的图片信息,以及各控件在所述指定软件界面中的位置和大小信息,生成所述软件皮肤对应的缓存文件;
将所述软件皮肤对应的缓存文件在本地进行存储。
5.如权利要求4所述的方法,其特征在于,所述根据所述解码得到的所述指定软件界面中各控件的图片信息,以及各控件在所述指定软件界面中的位置和大小信息,生成所述软件皮肤对应的缓存文件,包括:
为所述解码得到的所述指定软件界面中各控件的图片信息,以及各控件在所述指定软件界面中的位置和大小信息,分配内存空间;其中,所述内存空间的大小为所述解码得到的所述指定软件界面中各控件的图片信息,以及各控件在所述指定软件界面中的位置和大小信息的大小的总和;
将解码得到的所述指定软件界面中各控件的图片信息,以及各控件在所述指定软件界面中的位置和大小信息,合并写入所述内存空间;
根据所述内存空间中的数据生成所述软件皮肤对应的缓存文件。
6.如权利要求5所述的方法,其特征在于,为所述解码得到的所述指定软件界面中各控件的图片信息,以及各控件在所述指定软件界面中的位置和大小信息,分配内存空间包括:
为所述解码得到的所述指定软件界面中各控件的图片信息,以及各控件在所述指定软件界面中的位置和大小信息,分配一段连续的内存空间。
7.一种软件界面的更换装置,其特征在于,包括:
接收模块,用于接收针对指定软件界面的软件皮肤的加载指令;
判断模块,用于判断本地是否存储有所述软件皮肤对应的缓存文件,所述软件皮肤对应的缓存文件中包括所述指定软件界面中各控件的图片信息,以及所述各控件在所述指定软件界面中的位置和大小信息;
第一获取模块,用于当所述判断模块判断为是时,获取所述软件皮肤对应的缓存文件;
第一更换模块,用于根据所述缓存文件中包括的所述指定软件界面中各控件的图片信息,以及所述各控件在所述指定软件界面中的位置和大小信息,将当前软件界面更换为所述指定软件界面。
8.如权利要求7所述的装置,其特征在于,还包括:
第二获取模块,用于当所述判断模块判断为否时,获取所述软件皮肤对应的皮肤包;
解压模块,以用于对所述皮肤包进行解压,以得到所述皮肤包中包括的所述指定软件界面中各控件的图片文件,以及布局文件;其中,所述布局文件用于描述所述指定软件界面中各控件在所述指定软件界面中的位置和大小;
解码模块,用于对所述图片文件,以及所述布局文件进行解码,以得到所述指定软件界面中各控件的图片信息,以及各控件在所述指定软件界面中的位置和大小信息;
第二更换模块,用于根据解码得到的所述指定软件界面中各控件的图片信息,以及各控件在所述指定软件界面中的位置和大小信息,将当前软件界面更换为所述指定软件界面。
9.如权利要求8所述的装置,其特征在于,所述第二获取模块包括:
判断单元,用于判断本地是否存储有所述软件皮肤对应的皮肤包;
获取单元,用于当所述判断单元判断为是时,获取本地存储的所述软件皮肤对应的皮肤包;当所述判断单元判断为否时,从服务器获取所述软件皮肤对应的皮肤包。
10.如权利要求7所述的装置,其特征在于,还包括:
生成模块,用于根据所述解码得到的所述指定软件界面中各控件的图片信息,以及各控件在所述指定软件界面中的位置和大小信息,生成所述软件皮肤对应的缓存文件;
存储模块,用于将所述软件皮肤对应的缓存文件在本地进行存储。
11.如权利要求10所述的装置,其特征在于,所述生成模块包括:
分配单元,用于为所述解码得到的所述指定软件界面中各控件的图片信息,以及各控件在所述指定软件界面中的位置和大小信息,分配内存空间;其中,所述内存空间的大小为所述解码得到的所述指定软件界面中各控件的图片信息,以及各控件在所述指定软件界面中的位置和大小信息的大小的总和;
写入单元,用于将解码得到的所述指定软件界面中各控件的图片信息,以及各控件在所述指定软件界面中的位置和大小信息,合并写入所述内存空间;
生成单元,用于根据所述内存空间中的数据生成所述软件皮肤对应的缓存文件。
12.如权利要求11所述的装置,其特征在于,
所述分配单元具体用于,为所述解码得到的所述指定软件界面中各控件的图片信息,以及各控件在所述指定软件界面中的位置和大小信息,分配一段连续的内存空间。
13.一种终端,其特征在于,包括如权利要求7-12任一项所述的软件界面的更换装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410429610.3A CN104166556A (zh) | 2014-08-27 | 2014-08-27 | 一种软件界面的更换方法、装置及终端 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410429610.3A CN104166556A (zh) | 2014-08-27 | 2014-08-27 | 一种软件界面的更换方法、装置及终端 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104166556A true CN104166556A (zh) | 2014-11-26 |
Family
ID=51910390
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410429610.3A Pending CN104166556A (zh) | 2014-08-27 | 2014-08-27 | 一种软件界面的更换方法、装置及终端 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104166556A (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104581344A (zh) * | 2014-12-29 | 2015-04-29 | 深圳创维数字技术有限公司 | 一种菜单界面显示方法及数字电视接收终端 |
CN106250157A (zh) * | 2016-08-03 | 2016-12-21 | 苏州美房云客软件科技股份有限公司 | 一种基于Android平台的一键换肤方法 |
CN107608674A (zh) * | 2017-09-22 | 2018-01-19 | 深圳市创维软件有限公司 | 一种应用换肤方法、装置、计算机及存储介质 |
CN107729103A (zh) * | 2017-09-29 | 2018-02-23 | 努比亚技术有限公司 | 一种主题切换方法、移动终端以及计算机存储介质 |
CN109857388A (zh) * | 2019-01-10 | 2019-06-07 | 北京城市网邻信息技术有限公司 | 代码生成方法、装置、服务器及计算机可读介质 |
CN110096269A (zh) * | 2019-04-18 | 2019-08-06 | 北京奇艺世纪科技有限公司 | 一种基于皮肤缓存机制的界面渲染方法、装置及电子设备 |
CN110134487A (zh) * | 2019-05-23 | 2019-08-16 | 上海哔哩哔哩科技有限公司 | 直播界面的动态换肤方法、可读存储介质及计算机设备 |
CN112269605A (zh) * | 2020-11-12 | 2021-01-26 | 北京百度网讯科技有限公司 | 一种皮肤更换方法、装置、电子设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102129368A (zh) * | 2010-01-20 | 2011-07-20 | 腾讯科技(深圳)有限公司 | 界面皮肤更换系统及方法 |
CN102214107A (zh) * | 2010-04-12 | 2011-10-12 | 腾讯科技(深圳)有限公司 | 在客户端程序中的Flash换肤换色方法和装置 |
CN102779045A (zh) * | 2012-07-03 | 2012-11-14 | 北京昆仑万维科技股份有限公司 | 一种界面生成方法、界面编辑器及电子设备 |
CN102819422A (zh) * | 2011-06-09 | 2012-12-12 | 腾讯科技(深圳)有限公司 | 通过控件加载远程图片的方法及系统 |
-
2014
- 2014-08-27 CN CN201410429610.3A patent/CN104166556A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102129368A (zh) * | 2010-01-20 | 2011-07-20 | 腾讯科技(深圳)有限公司 | 界面皮肤更换系统及方法 |
CN102214107A (zh) * | 2010-04-12 | 2011-10-12 | 腾讯科技(深圳)有限公司 | 在客户端程序中的Flash换肤换色方法和装置 |
CN102819422A (zh) * | 2011-06-09 | 2012-12-12 | 腾讯科技(深圳)有限公司 | 通过控件加载远程图片的方法及系统 |
CN102779045A (zh) * | 2012-07-03 | 2012-11-14 | 北京昆仑万维科技股份有限公司 | 一种界面生成方法、界面编辑器及电子设备 |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104581344A (zh) * | 2014-12-29 | 2015-04-29 | 深圳创维数字技术有限公司 | 一种菜单界面显示方法及数字电视接收终端 |
CN104581344B (zh) * | 2014-12-29 | 2019-07-23 | 深圳创维数字技术有限公司 | 一种菜单界面显示方法及数字电视接收终端 |
CN106250157A (zh) * | 2016-08-03 | 2016-12-21 | 苏州美房云客软件科技股份有限公司 | 一种基于Android平台的一键换肤方法 |
CN107608674A (zh) * | 2017-09-22 | 2018-01-19 | 深圳市创维软件有限公司 | 一种应用换肤方法、装置、计算机及存储介质 |
CN107729103A (zh) * | 2017-09-29 | 2018-02-23 | 努比亚技术有限公司 | 一种主题切换方法、移动终端以及计算机存储介质 |
CN109857388A (zh) * | 2019-01-10 | 2019-06-07 | 北京城市网邻信息技术有限公司 | 代码生成方法、装置、服务器及计算机可读介质 |
CN109857388B (zh) * | 2019-01-10 | 2021-06-15 | 北京城市网邻信息技术有限公司 | 代码生成方法、装置、服务器及计算机可读介质 |
CN110096269A (zh) * | 2019-04-18 | 2019-08-06 | 北京奇艺世纪科技有限公司 | 一种基于皮肤缓存机制的界面渲染方法、装置及电子设备 |
CN110134487A (zh) * | 2019-05-23 | 2019-08-16 | 上海哔哩哔哩科技有限公司 | 直播界面的动态换肤方法、可读存储介质及计算机设备 |
CN110134487B (zh) * | 2019-05-23 | 2022-11-11 | 上海哔哩哔哩科技有限公司 | 直播界面的动态换肤方法、可读存储介质及计算机设备 |
CN112269605A (zh) * | 2020-11-12 | 2021-01-26 | 北京百度网讯科技有限公司 | 一种皮肤更换方法、装置、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104166556A (zh) | 一种软件界面的更换方法、装置及终端 | |
US9832149B2 (en) | Treatment of cloud-based and local attachments in communication applications | |
US8719239B2 (en) | Displaying changes to versioned files | |
US10908928B2 (en) | Rules-based workflow messaging | |
CN107451162B (zh) | 网络资源访问设备、混合设备及方法 | |
CN108874810B (zh) | 信息采集的方法和装置 | |
CN107656768B (zh) | 控制页面跳转的方法及其系统 | |
CN109634609B (zh) | 动态弹窗的显示方法、系统、设备及存储介质 | |
US20190394157A1 (en) | Modification of delivered email content | |
TW201636812A (zh) | 經由瓦來呈現應用程式的變化 | |
US20090235186A1 (en) | Limited-scope rendering | |
CN107203425B (zh) | 轻应用的切换方法、设备及电子设备 | |
CN105760059A (zh) | 消息阅读的控制方法及装置 | |
US10157046B2 (en) | Method and apparatus for generating an explorer for user interface prototyping | |
CN107871088B (zh) | 一种信息处理方法、装置、终端和计算机可读存储介质 | |
US9430808B2 (en) | Synchronization points for state information | |
CN115237436A (zh) | 应用部署方法、装置、电子设备及可读存储介质 | |
CN109857503B (zh) | 页面交互效果自适应方法、装置与电子设备 | |
CN105786888A (zh) | 快捷选项的生成方法和系统、及电子设备 | |
CN112256370A (zh) | 信息显示方法、装置和电子设备 | |
CN104199946A (zh) | 一种网页信息的加载进度的显示方法及装置 | |
US10607391B2 (en) | Automated virtual artifact generation through natural language processing | |
US10628179B2 (en) | Universal graphical user interface objects | |
US11379194B2 (en) | Systems and methods for automatic code generation | |
CN115526953A (zh) | 生成视图的方法、装置、电子设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20141126 |
|
RJ01 | Rejection of invention patent application after publication |