CN111552535A - 界面图片更换方法、装置、计算机设备和存储介质 - Google Patents
界面图片更换方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN111552535A CN111552535A CN202010344313.4A CN202010344313A CN111552535A CN 111552535 A CN111552535 A CN 111552535A CN 202010344313 A CN202010344313 A CN 202010344313A CN 111552535 A CN111552535 A CN 111552535A
- Authority
- CN
- China
- Prior art keywords
- control
- resource
- picture
- style
- identifier
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/38—Creation or generation of source code for implementing user interfaces
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本申请涉及计算机技术领域,可应用于智慧教育场景中。提供一种界面图片更换方法、装置、计算机设备和存储介质,所述方法包括:接收应用程序的启动指令,根据启动指令从服务器读取应用程序的界面显示风格;在显示当前界面前,判断当前界面是否存在自定义控件加载器;当存在自定义控件加载器时,则通过自定义控件加载器读取当前界面对应的可扩展标记语言文件;通过自定义控件加载器读取可扩展标记语言文件中的控件,以及控件对应的默认资源的资源标识;将界面显示风格对应的风格标识和默认资源的资源标识进行拼接,得到风格资源标识;获取风格资源标识对应的图片资源,根据图片资源显示当前界面中的对应的控件。采用本方法满足用户需求且操作方便。
Description
技术领域
本申请涉及显示技术领域,特别是涉及一种界面图片更换方法、装置、计算机设备和存储介质。
背景技术
应用换肤是一种提高用户体验度的一种方案。目前业内大体有两种解决方案。第一种方案对换肤需求较高,制作不同的专门的皮肤包,皮肤包可以通过网络下载到本地。代码中通过技术方案将资源指向皮肤包的资源。这种方案的优点是皮肤包里面可以更换新的主题和图片,更换新的皮肤不需要重新打apk。缺点是代码量比较大,侵入性较高。并且这种指向皮肤包资源相比使用安装包的资源比较耗时。时间视皮肤包的大小而定。
第二种方案对换肤需求较小,只需类似白天风格和黑色风格,在应用中有不同的按钮,通过选择按钮动态切换对应的主题,在进入不同界面的时候选择加载主题。优点是几乎不改动代码,只需要更改资源文件。缺点是局限性比较高,如果需要一个新的主题,那么需要重新打包apk,且只能更换主题而不能变更各种图片。
发明内容
基于此,有必要针对上述技术问题,提供一种能够满足用户需求且操作方便的界面图片更换方法、装置、计算机设备和存储介质。
一种界面图片更换方法,所述方法包括:
接收应用程序的启动指令,并根据所述启动指令从服务器读取所述应用程序的界面显示风格;
在显示当前界面前,判断当前界面是否存在自定义控件加载器;当存在自定义控件加载器时,则通过所述自定义控件加载器读取当前界面对应的可扩展标记语言文件;
通过所述自定义控件加载器读取所述可扩展标记语言文件中的控件,以及控件对应的默认资源的资源标识;
将所述界面显示风格对应的风格标识和所述默认资源的资源标识进行拼接得到风格资源标识;
获取所述风格资源标识对应的图片资源,根据所述图片资源显示所述当前界面中的对应的控件。
在其中一个实施例中,所述可扩展标记语言文件中的控件具有图片更换标识;所述通过所述自定义控件加载器读取所述可扩展标记语言文件中的控件,以及控件对应的默认资源的资源标识,包括:
通过自定义控件加载器读取所述可扩展标记语言文件中的、具有图片更换标识的控件,并获取所述控件对应的第一图片更换属性;
读取所述第一图片更换属性对应的默认的资源标识。
在其中一个实施例中,所述方法还包括:
接收换肤指令,所述换肤指令携带有控件标识以及第二图片更换属性;
根据所述控件标识查询所述可扩展标记语言文件得到待处理控件;
将所述第二图片更换属性与所述待处理控件关联存储至所述可扩展标记语言文件中,并增加所述待处理控件的图片更换标识。
在其中一个实施例中,所述通过所述自定义控件加载器读取所述可扩展标记语言文件中的控件,以及控件对应的默认资源的资源标识,包括:
通过所述自定义控件加载器读取所述可扩展标记语言文件中的控件;
读取所述控件对应的控件属性;
依次获取到所述控件属性对应的默认资源的资源标识。
在其中一个实施例中,所述将所述界面显示风格对应的风格标识和所述默认资源的资源标识进行拼接得到风格资源标识,包括:
将所述界面显示风格对应的风格标识和所述控件的各个控件属性对应的默认资源的资源标识进行拼接,得到各个控件属性对应的风格资源标识,将所述风格资源标识上传至区块链中。
在其中一个实施例中,所述获取所述风格资源标识对应的图片资源,根据所述图片资源显示所述当前界面中的对应的控件,包括:
依次获取各个所述风格资源标识对应的图片资源;
若获取到所述图片资源,则按照所述图片资源显示所述当前界面中的对应的控件;
若未获取到所述图片资源,则按照所述控件属性对应的默认资源显示所述控件。
一种界面图片更换装置,所述装置包括:
第一接收模块,用于接收应用程序的启动指令,并根据所述启动指令从服务器读取所述应用程序的界面显示风格;
文件获取模块,用于在显示当前界面前,判断是否存在自定义控件加载器;当存在自定义控件加载器时,则通过所述自定义控件加载器读取当前界面对应的可扩展标记语言文件;
默认资源标识获取模块,用于通过所述自定义控件加载器读取所述可扩展标记语言文件中的控件,以及控件对应的默认资源的资源标识;
风格资源标识获取模块,用于将所述界面显示风格对应的风格标识和所述默认资源的资源标识进行拼接得到风格资源标识;
显示模块,用于获取所述风格资源标识对应的图片资源,根据所述图片资源显示所述当前界面中的对应的控件。
在其中一个实施例中,所述可扩展标记语言文件中的控件具有图片更换标识;所述默认资源标识获取模块包括:
更换属性获取单元,用于通过自定义控件加载器读取所述可扩展标记语言文件中的、具有图片更换标识的控件,并获取所述控件对应的第一图片更换属性;
第一资源标识获取单元,用于读取所述第一图片更换属性对应的默认的资源标识。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述任一项所述方法的步骤。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一项所述的方法的步骤。
上述界面图片更换方法、装置、计算机设备和存储介质,仅是对界面显示时的原生加载器进行了替换,即替换成自定义控件加载器,而不需要更改资源管理器,这样不需要修改对接方的整体的apk,代码没有侵入性,仅针对需要加载的activity。其次,仅需要引入一个自定义控件加载器,即只有一个类文件,代码量很小,第三,可以对可扩展标记语言文件中的控件的皮肤进行随意更换,灵活性较高,满足用户需求且操作方便。
附图说明
图1为一个实施例中界面图片更换方法的应用场景图;
图2为一个实施例中界面图片更换方法的流程示意图;
图3为另一个实施例中界面图片更换方法的流程示意图;
图4为再一个实施例中界面图片更换方法的流程示意图;
图5为一个实施例中界面图片更换装置的结构框图;
图6为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的界面图片更换方法,可以应用于如图1所示的应用环境中。其中,终端102通过网络与服务器104通过网络进行通信。其中,终端102接收到应用程序的启动指令,例如终端接收到用户点击终端界面上的对应的应用程序图标的指令,然后根据启动指令从服务器104读取应用程序的界面显示风格,这样在显示当前界面前,则可以判断当前界面是否存在自定义控件加载器,若存在,则通过自定义控件加载器读取当前界面对应的可扩展标记语言文件;这样终端102通过自定义控件加载器读取可扩展标记语言文件中的控件,以及控件对应的默认资源的资源标识;进而将界面显示风格对应的风格标识和默认资源的资源标识进行拼接得到风格资源标识;从而终端102获取风格资源标识对应的图片资源,根据图片资源显示当前界面中的对应的控件,这样仅是对界面显示时的原生加载器进行了替换,即替换成自定义控件加载器,而不需要更改资源管理器,这样不需要修改对接方的整体的apk,代码没有侵入性,仅针对需要加载的activity。其次,仅需要引入一个自定义控件加载器,即只有一个类文件,代码量很小,第三,可以对可扩展标记语言文件中的控件的皮肤进行随意更换,灵活性较高。其中,终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在一个实施例中,如图2所示,提供了一种界面图片更换方法,以该方法应用于图1中的终端为例进行说明,包括以下步骤:
S202:接收应用程序的启动指令,并根据启动指令从服务器读取应用程序的界面显示风格。
具体地,应用程序是指为了完成某项或某几项特定任务而被开发运行于操作***之上的计算机程序,该应用程序的启动指令可以是指用户点击移动终端上的对应的图标后所触发的该图标对应的计算机程序的执行指令。界面显示风格是指该应用程序的界面的风格,即该界面的主体显示风格,也就是该界面的基调,该界面显示风格是服务器预先设置的,用户可以根据需要选择其中的一个风格,且在选择完成后,在服务器进行保存,以便于下一次应用程序启动时,可以从服务器读取该应用程序的界面显示风格。例如该界面显示风格可以是白天、晚上、或者是蓝色、黄色、黑色、白色等其他的风格。且可选地,此处的界面显示风格是指应用程序的界面的显示风格,每一个界面的显示风格可以是相同的或者是不相同的,且为了界面的协调性,一般是设置界面的显示风格相同,当然若用户存在需要也可以设置界面显示风格不相同,在此不再赘述。
S204:在显示当前界面前,判断当前界面是否存在自定义控件加载器;当存在自定义控件加载器时,则通过自定义控件加载器读取当前界面对应的可扩展标记语言文件。
具体地,在显示当前界面前是指接收到了应用程序的启动指令,或者是界面跳转指令后,但是当前界面还未显示之前,也就是说当前界面将要显示,但是还没有刷新到显示屏上。
具体地,自定义控件加载器是用户自己定义的用于显示当前界面的加载器,该加载器可以是通过apk的形式打包,并通过java中的load函数引入的,即终端在显示当前界面前,也就是说读取当前界面对应的计算机程序前,终端判断是否读取到load函数,如果读取到,即存在自定义控件加载器,且在存在自定义控件加载器的时候,终端通过该自定义加载器,也就是说通过该apk来读取当前界面对应的可扩展标记语言文件,即xml文件,该xml文件是代码中的资源文件,且该可扩展标记语言文件中关联存储了当前界面对应的所有的控件、控件对应的默认资源的资源标识。
且在其中一个实施例中,在显示当前界面前,判断是否存在自定义控件加载器,包括:在应用程序的每个界面显示前,均判断是否存在自定义控件加载器;若不存在自定义控件加载器,则继续按照原生控件加载器加载界面。具体地,上述自定义加载器是可以通过java的load方法引入的,这样对存在需要的界面则可以引入该load方法,而不需要的界面则不引入该方法,从而可以保证界面的多样化的显示。
S206:通过自定义控件加载器读取可扩展标记语言文件中的控件,以及控件对应的默认资源的资源标识。
S208:将界面显示风格对应的风格标识和默认资源的资源标识进行拼接得到风格资源标识。
具体地,终端可以通过自定义控件加载器读取可标记语言文件中存储的控件,并读取到控件对应的默认资源的资源标识,这样可以根据默认资源的资源标识和风格标识获取对应的图片资源。
例如,假设存在dark风格和light风格,控件的默认资源对应的背景名称是dialog_bg,此时是dark风格,那么在拦截的时候将文件名拼接为dark_dialog_bg,重新获得风格资源标识并重新赋值给对应的控件。而整个拦截过程中控件并没有进入到界面刷新流程,所以重新赋值过程不影响性能。即也就是说可标记语言文件Resource里面包含了资源ID和文件名的对应,而所有的资源均通过assetManager去包中取出。而传统的第一种方案采用插件化hook的方式,指定一个新的assetManager,这个manager中所带的信息是皮肤包对应的位置,需要更改资源管理器,代码量大。
S210:获取风格资源标识对应的图片资源,根据图片资源显示当前界面中的对应的控件。
具体地,终端在显示的时候,可以针对当前界面中的控件进行并行查询,也可以依次查询,即由于每个界面中存在多个控件,因此终端需要读取完所有控件的资源后才可以进行显示,但是由于换肤的时候,有些控件是没有必要更换显示方式的,因此是读取不到换肤资源的,具体地,若没有获取到风格资源标识对应的图片资源,则获取所述默认资源,并通过所述默认资源显示所述当前界面中的对应的控件以完成当前界面的显示。当读取到换肤资源,则按照图片资源进行显示,这样所有的控件都读取到了对应的资源,从而完成了当前界面的显示。
具体地,服务器端在设置多个控件的换肤风格的时候,可以仅将对应的控件的换肤属性进行替换,并不进行标记,从而在终端在界面图片更换完成后进行显示的时候,可以自动读取所有的控件的所有的属性,这样终端直接按照读取到的属性显示控件即可,且如果没有读取到对应的资源,则直接放弃即可,非常方便。
上述界面图片更换方法,仅是对界面显示时的原生加载器进行了替换,即替换成自定义控件加载器,而不需要更改资源管理器,这样不需要修改对接方的整体的apk,代码没有侵入性,仅针对需要加载的activity。其次,仅需要引入一个自定义控件加载器,即只有一个类文件,代码量很小,第三,可以对可扩展标记语言文件中的控件的皮肤进行随意更换,灵活性较高,满足用户需求且操作方便。本申请方案可以应用在智慧教育如线上教育APP等场景中,从而推动智慧城市的建设。
在其中一个实施例中,可扩展标记语言文件中的控件具有图片更换标识,通过自定义控件加载器读取可扩展标记语言文件中的控件,以及控件对应的默认资源的资源标识,包括:通过自定义控件加载器读取可扩展标记语言文件中的、具有图片更换标识的控件,并获取控件对应的第一图片更换属性;读取第一图片更换属性对应的默认的资源标识。
在其中一个实施例中,上述的界面图片更换方法还可以包括:接收换肤指令,换肤指令携带有控件标识以及第二图片更换属性;根据控件标识查询可扩展标记语言文件得到待处理控件;将第二图片更换属性与待处理控件关联存储至可扩展标记语言文件中,并增加待处理控件的图片更换标识。
也就是说上述步骤S206可以是通过自定义控件加载器读取可扩展标记语言文件,即xml文件中具有图片更换标识的控件的第一图片更换属性,即skinType属性,然后读取具有图片更换标识的控件的第一图片更换属性对应的默认的资源标识。
本实施例中所涉及的是具有图片更换标识的控件,也就是说终端不需要遍历所有的控件,仅需要遍历具有图片更换标识的控件即可,这样其他的不具有图片更换标识的控件则直接读取默认资源即可。可以参见图3所示,图3为另一实施例中的界面图片更换方法的流程图。
具体地,在该实施例中,该skintype属性即第一图片更换属性可以包括背景图片,文字颜色,源图片等等。具体地,该实施例中是在可扩展标记语言文件中根据换肤指令对控件进行换肤标注,并将换肤后的控件的第二图片更换属性保存在可扩展标记语言文件中,这样增加一个图片更换标识,在应用程序启动时,界面显示之前,可以根据当前加载的界面控件的当前加载的控件是否存在图片更换标识来拼接文件名,即若存在图片更换标识,则获取到具有图片更换标识的控件的第二图片更换属性,而不需要遍历控件所有的属性,这样可以提高效率。
具体地,结合图3,首先终端接收应用程序的启动指令,并根据启动指令从服务器读取应用程序的界面显示风格;然后这样就可以依次显示应用程序的各个界面了,在每个界面显示之前,终端均判断是否存在自定义控件加载器;当存在自定义控件加载器时,则通过自定义控件加载器读取当前界面对应的可扩展标记语言文件;这样终端就可以通过自定义控件加载器从可扩展标记语言文件,读取具有图片更换标识的控件,并获取控件对应的第一图片更换属性,进而读取第一图片更换属性对应的默认的资源标识。然后终端将界面显示风格对应的风格标识和默认资源的资源标识进行拼接,得到风格资源标识。从而终端获取风格资源标识对应的图片资源,根据图片资源显示当前界面中的对应的控件。
上述实施例中,仅需要遍历具有图片更换标识的第二图片更换属性,从而可以提高效率。
在其中一个实施例中,通过自定义控件加载器读取可扩展标记语言文件中的控件,以及控件对应的默认资源的资源标识,包括:通过自定义控件加载器读取可扩展标记语言文件中的控件;读取控件对应的控件属性;依次获取到控件属性对应的默认资源的资源标识。
在其中一个实施例中,将界面显示风格对应的风格标识和默认资源的资源标识进行拼接得到风格资源标识,包括:将界面显示风格对应的风格标识和控件的各个控件属性对应的默认资源的资源标识进行拼接,得到各个控件属性对应的风格资源标识,将风格资源标识上传至区块链中。
基于风格资源标识得到对应的摘要信息,具体来说,摘要信息由风格资源标识进行散列处理得到,比如利用sha256s算法处理得到。将摘要信息上传至区块链可保证其安全性和对用户的公正透明性。用户设备可以从区块链中下载得该摘要信息,以便查证风格资源标识是否被篡改。
在其中一个实施例中,获取风格资源标识对应的图片资源,根据图片资源显示当前界面中的对应的控件,包括:依次获取各个风格资源标识对应的图片资源;若获取到图片资源,则按照图片资源显示当前界面中的对应的控件;若未获取到图片资源,则按照控件属性对应的默认资源显示控件。
具体地,本实施例是在没有进行图片更换标识时需要遍历所有的控件对应的属性时的操作方式,这样的操作需要终端遍历每个控件的每一个属性对应的资源,保证控件的准确显示。
具体地,参见图4所示,图4为再一实施例中的界面图片更换方法的流程图。首先终端接收应用程序的启动指令,并根据启动指令从服务器读取应用程序的界面显示风格;然后这样就可以依次显示应用程序的各个界面了,在每个界面显示之前,终端均判断是否存在自定义控件加载器;当存在自定义控件加载器时,则通过自定义控件加载器读取当前界面对应的可扩展标记语言文件。
这样终端即可以通过自定义控件加载器读取可扩展标记语言文件中的所有的控件,进而读取到所读取到的控件的控件属性,并依次获取到控件属性对应的默认资源的资源标识。其中控件的读取顺序可以是按照可扩展标记语言文件中存储的顺序进行读取。
终端在读取到资源标识后,则将界面显示风格对应的风格标识和控件的各个控件属性对应的默认资源的资源标识进行拼接,得到各个控件属性对应的风格资源标识,将风格资源标识上传至区块链中。
这样终端可以获取各个风格资源标识对应的图片资源;若获取到图片资源,则按照图片资源显示当前界面中的对应的控件。若未获取到图片资源,则按照控件属性对应的默认资源显示控件。
上述实施例中,需要终端遍历每个控件的每一个属性对应的资源,保证控件的准确显示。
应该理解的是,虽然图2-4的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2-4中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图5所示,提供了一种界面图片更换装置,包括:第一接收模块100、文件获取模块200、默认资源标识获取模块300、风格资源标识获取模块400和显示模块500,其中:
第一接收模块100,用于接收应用程序的启动指令,并根据启动指令从服务器读取应用程序的界面显示风格;
文件获取模块200,用于在显示当前界面前,判断是否存在自定义控件加载器;当存在自定义控件加载器时,则通过自定义控件加载器读取当前界面对应的可扩展标记语言文件;
默认资源标识获取模块300,用于通过自定义控件加载器读取可扩展标记语言文件中的控件,以及控件对应的默认资源的资源标识;
风格资源标识获取模块400,用于将界面显示风格对应的风格标识和默认资源的资源标识进行拼接得到风格资源标识;
显示模块500,用于获取风格资源标识对应的图片资源,根据图片资源显示当前界面中的对应的控件。
在其中一个实施例中,可扩展标记语言文件中的控件具有图片更换标识,上述的默认资源标识获取模块300可以包括:
更换属性获取单元,用于通过自定义控件加载器读取可扩展标记语言文件中的、具有图片更换标识的控件,并获取控件对应的第一图片更换属性;
第一资源标识获取单元,用于读取第一图片更换属性对应的默认的资源标识。
在其中一个实施例中,上述的界面图片更换装置还可以包括:
第二接收模块,用于接收换肤指令,换肤指令携带有控件标识以及第二图片更换属性;
待处理控件获取模块,用于根据控件标识查询可扩展标记语言文件得到待处理控件;
增加模块,用于将第二图片更换属性与待处理控件关联存储至可扩展标记语言文件中,并增加待处理控件的图片更换标识。
在其中一个实施例中,上述的默认资源标识获取模块300可以包括:
控件读取单元,用于通过自定义控件加载器读取可扩展标记语言文件中的控件;
属性读取单元,用于读取控件对应的控件属性;
第二资源标识获取单元,用于依次获取到控件属性对应的默认资源的资源标识。
在其中一个实施例中,上述的风格资源标识获取模块400可以包括:
拼接单元,用于将界面显示风格对应的风格标识和控件的各个控件属性对应的默认资源的资源标识进行拼接,得到各个控件属性对应的风格资源标识。
上传单元,用于将风格资源标识上传至区块链中。基于风格资源标识得到对应的摘要信息,具体来说,摘要信息由风格资源标识进行散列处理得到,比如利用sha256s算法处理得到。将摘要信息上传至区块链可保证其安全性和对用户的公正透明性。用户设备可以从区块链中下载得该摘要信息,以便查证风格资源标识是否被篡改。
在其中一个实施例中,上述的显示模块500可以包括:
获取单元,用于依次获取各个风格资源标识对应的图片资源;
第一显示单元,用于若获取到图片资源,则按照图片资源显示当前界面中的对应的控件;
第二显示单元,用于若未获取到图片资源,则按照控件属性对应的默认资源显示控件。
关于界面图片更换装置的具体限定可以参见上文中对于界面图片更换方法的限定,在此不再赘述。上述界面图片更换装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图6所示。该计算机设备包括通过***总线连接的处理器、存储器、网络接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作***和计算机程序。该内存储器为非易失性存储介质中的操作***和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种界面图片更换方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图6中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
本申请所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,该存储器存储有计算机程序,该处理器执行计算机程序时实现以下步骤:接收应用程序的启动指令,并根据启动指令从服务器读取应用程序的界面显示风格;在显示当前界面前,判断是否存在自定义控件加载器;当存在自定义控件加载器时,则通过自定义控件加载器读取当前界面对应的可扩展标记语言文件;通过自定义控件加载器读取可扩展标记语言文件中的控件,以及控件对应的默认资源的资源标识;将界面显示风格对应的风格标识和默认资源的资源标识进行拼接得到风格资源标识;获取风格资源标识对应的图片资源,根据图片资源显示当前界面中的对应的控件。
在一个实施例中,可扩展标记语言文件中的控件具有图片更换标识,处理器执行计算机程序时所实现的通过自定义控件加载器读取可扩展标记语言文件中的控件,以及控件对应的默认资源的资源标识,包括:通过自定义控件加载器读取可扩展标记语言文件中的、具有图片更换标识的控件,并获取控件对应的第一图片更换属性;读取第一图片更换属性对应的默认的资源标识。
在一个实施例中,处理器执行计算机程序时所实现的方法还包括:接收换肤指令,换肤指令携带有控件标识以及第二图片更换属性;根据控件标识查询可扩展标记语言文件得到待处理控件;将第二图片更换属性与待处理控件关联存储至可扩展标记语言文件中,并增加待处理控件的图片更换标识。
在一个实施例中,处理器执行计算机程序时所实现的通过自定义控件加载器读取可扩展标记语言文件中的控件,以及控件对应的默认资源的资源标识,包括:通过自定义控件加载器读取可扩展标记语言文件中的控件;读取控件对应的控件属性;依次获取到控件属性对应的默认资源的资源标识。
在一个实施例中,处理器执行计算机程序时所实现的将界面显示风格对应的风格标识和默认资源的资源标识进行拼接得到风格资源标识,包括:将界面显示风格对应的风格标识和控件的各个控件属性对应的默认资源的资源标识进行拼接,得到各个控件属性对应的风格资源标识,将风格资源标识上传至区块链中。
在一个实施例中,处理器执行计算机程序时所实现的获取风格资源标识对应的图片资源,根据图片资源显示当前界面中的对应的控件,包括:依次获取各个风格资源标识对应的图片资源;若获取到图片资源,则按照图片资源显示当前界面中的对应的控件;若未获取到图片资源,则按照控件属性对应的默认资源显示控件。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:接收应用程序的启动指令,并根据启动指令从服务器读取应用程序的界面显示风格;在显示当前界面前,判断是否存在自定义控件加载器;当存在自定义控件加载器时,则通过自定义控件加载器读取当前界面对应的可扩展标记语言文件;通过自定义控件加载器读取可扩展标记语言文件中的控件,以及控件对应的默认资源的资源标识;将界面显示风格对应的风格标识和默认资源的资源标识进行拼接得到风格资源标识;获取风格资源标识对应的图片资源,根据图片资源显示当前界面中的对应的控件。
在一个实施例中,可扩展标记语言文件中的控件具有图片更换标识,计算机程序被处理器执行时所实现的通过自定义控件加载器读取可扩展标记语言文件中的控件,以及控件对应的默认资源的资源标识,包括:通过自定义控件加载器读取可扩展标记语言文件中的、具有图片更换标识的控件,并获取控件对应的第一图片更换属性;读取第一图片更换属性对应的默认的资源标识。
在一个实施例中,计算机程序被处理器执行时所实现的方法还包括:接收换肤指令,换肤指令携带有控件标识以及第二图片更换属性;根据控件标识查询可扩展标记语言文件得到待处理控件;将第二图片更换属性与待处理控件关联存储至可扩展标记语言文件中,并增加待处理控件的图片更换标识。
在一个实施例中,计算机程序被处理器执行时所实现的通过自定义控件加载器读取可扩展标记语言文件中的控件,以及控件对应的默认资源的资源标识,包括:通过自定义控件加载器读取可扩展标记语言文件中的控件;读取控件对应的控件属性;依次获取到控件属性对应的默认资源的资源标识。
在一个实施例中,计算机程序被处理器执行时所实现的将界面显示风格对应的风格标识和默认资源的资源标识进行拼接得到风格资源标识,包括:将界面显示风格对应的风格标识和控件的各个控件属性对应的默认资源的资源标识进行拼接,得到各个控件属性对应的风格资源标识,将风格资源标识上传至区块链中。
在一个实施例中,计算机程序被处理器执行时所实现的获取风格资源标识对应的图片资源,根据图片资源显示当前界面中的对应的控件,包括:依次获取各个风格资源标识对应的图片资源;若获取到图片资源,则按照图片资源显示当前界面中的对应的控件;若未获取到图片资源,则按照控件属性对应的默认资源显示控件。
在本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种界面图片更换方法,所述方法包括:
接收应用程序的启动指令,并根据所述启动指令从服务器读取所述应用程序的界面显示风格;
在显示当前界面前,判断当前界面是否存在自定义控件加载器;当存在自定义控件加载器时,则通过所述自定义控件加载器读取所述当前界面对应的可扩展标记语言文件;
通过所述自定义控件加载器读取所述可扩展标记语言文件中的控件,以及所述控件对应的默认资源的资源标识;
将所述界面显示风格对应的风格标识和所述默认资源的资源标识进行拼接,得到风格资源标识;
获取所述风格资源标识对应的图片资源,根据所述图片资源显示所述当前界面中的对应的控件。
2.根据权利要求1所述的方法,其特征在于,所述可扩展标记语言文件中的控件具有图片更换标识;所述通过所述自定义控件加载器读取所述可扩展标记语言文件中的控件,以及所述控件对应的默认资源的资源标识,包括:
通过自定义控件加载器读取所述可扩展标记语言文件中的、具有图片更换标识的控件,并获取所述控件对应的第一图片更换属性;
读取所述第一图片更换属性对应的默认的资源标识。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
接收换肤指令,所述换肤指令携带有控件标识以及第二图片更换属性;
根据所述控件标识查询所述可扩展标记语言文件得到待处理控件;
将所述第二图片更换属性与所述待处理控件关联存储至所述可扩展标记语言文件中,并增加所述待处理控件的图片更换标识。
4.根据权利要求1所述的方法,其特征在于,所述通过所述自定义控件加载器读取所述可扩展标记语言文件中的控件,以及控件对应的默认资源的资源标识,包括:
通过所述自定义控件加载器读取所述可扩展标记语言文件中的控件;
读取所述控件对应的控件属性;
依次获取到所述控件属性对应的默认资源的资源标识。
5.根据权利要求4所述的方法,其特征在于,所述将所述界面显示风格对应的风格标识和所述默认资源的资源标识进行拼接得到风格资源标识,包括:
将所述界面显示风格对应的风格标识和所述控件的各个控件属性对应的默认资源的资源标识进行拼接,得到各个控件属性对应的风格资源标识,将所述风格资源标识上传至区块链中。
6.根据权利要求5所述的方法,其特征在于,所述获取所述风格资源标识对应的图片资源,根据所述图片资源显示所述当前界面中的对应的控件,包括:
依次获取各个所述风格资源标识对应的图片资源;
若获取到所述图片资源,则按照所述图片资源显示所述当前界面中的对应的控件;
若未获取到所述图片资源,则按照所述控件属性对应的默认资源显示所述控件。
7.一种界面图片更换装置,其特征在于,所述装置包括:
第一接收模块,用于接收应用程序的启动指令,并根据所述启动指令从服务器读取所述应用程序的界面显示风格;
文件获取模块,用于在显示当前界面前,判断是否存在自定义控件加载器;当存在自定义控件加载器时,则通过所述自定义控件加载器读取当前界面对应的可扩展标记语言文件;
默认资源标识获取模块,用于通过所述自定义控件加载器读取所述可扩展标记语言文件中的控件,以及控件对应的默认资源的资源标识;
风格资源标识获取模块,用于将所述界面显示风格对应的风格标识和所述默认资源的资源标识进行拼接得到风格资源标识;
显示模块,用于获取所述风格资源标识对应的图片资源,根据所述图片资源显示所述当前界面中的对应的控件。
8.根据权利要求7所述的装置,其特征在于,所述可扩展标记语言文件中的控件具有图片更换标识;所述默认资源标识获取模块包括:
更换属性获取单元,用于通过自定义控件加载器读取所述可扩展标记语言文件中的、具有图片更换标识的控件,并获取所述控件对应的第一图片更换属性;
第一资源标识获取单元,用于读取所述第一图片更换属性对应的默认的资源标识。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6中任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010344313.4A CN111552535A (zh) | 2020-04-27 | 2020-04-27 | 界面图片更换方法、装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010344313.4A CN111552535A (zh) | 2020-04-27 | 2020-04-27 | 界面图片更换方法、装置、计算机设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111552535A true CN111552535A (zh) | 2020-08-18 |
Family
ID=72004101
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010344313.4A Pending CN111552535A (zh) | 2020-04-27 | 2020-04-27 | 界面图片更换方法、装置、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111552535A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112099793A (zh) * | 2020-09-25 | 2020-12-18 | 成都极米科技股份有限公司 | 界面生成方法、装置、电子设备及存储介质 |
CN112487330A (zh) * | 2020-11-23 | 2021-03-12 | 广州经传多赢投资咨询有限公司 | 基于xml的ui换肤方法、***、装置及存储介质 |
CN113835767A (zh) * | 2021-11-24 | 2021-12-24 | 惠州大亚湾华北工控实业有限公司 | 一种电子设备的启动方法、装置、电子设备及存储介质 |
CN117492896A (zh) * | 2023-11-13 | 2024-02-02 | 书行科技(北京)有限公司 | 应用显示方法、装置、电子设备及存储介质 |
-
2020
- 2020-04-27 CN CN202010344313.4A patent/CN111552535A/zh active Pending
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112099793A (zh) * | 2020-09-25 | 2020-12-18 | 成都极米科技股份有限公司 | 界面生成方法、装置、电子设备及存储介质 |
CN112099793B (zh) * | 2020-09-25 | 2023-08-22 | 成都极米科技股份有限公司 | 界面生成方法、装置、电子设备及存储介质 |
CN112487330A (zh) * | 2020-11-23 | 2021-03-12 | 广州经传多赢投资咨询有限公司 | 基于xml的ui换肤方法、***、装置及存储介质 |
CN113835767A (zh) * | 2021-11-24 | 2021-12-24 | 惠州大亚湾华北工控实业有限公司 | 一种电子设备的启动方法、装置、电子设备及存储介质 |
CN113835767B (zh) * | 2021-11-24 | 2022-02-22 | 惠州大亚湾华北工控实业有限公司 | 一种电子设备的启动方法、装置、电子设备及存储介质 |
CN117492896A (zh) * | 2023-11-13 | 2024-02-02 | 书行科技(北京)有限公司 | 应用显示方法、装置、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111552535A (zh) | 界面图片更换方法、装置、计算机设备和存储介质 | |
CN106598655B (zh) | 应用程序页面处理方法和装置 | |
CN103970563B (zh) | 动态加载安卓类的方法 | |
US20200057550A1 (en) | Method and apparatus for generating customized visualization component | |
CN112114913B (zh) | 应用程序的界面更新方法、装置、计算机设备和存储介质 | |
CN105718313A (zh) | 应用操作方法和装置 | |
CN108874464B (zh) | 中间件自动扫描装配方法、装置及存储介质 | |
CN112416458A (zh) | 基于ReactNative的预加载方法、装置、计算机设备及存储介质 | |
CN111008132B (zh) | Android***的应用调试方法、装置、计算机设备和存储介质 | |
CN114531477B (zh) | 功能组件的配置方法、装置、计算机设备和存储介质 | |
CN111459541A (zh) | 应用程序的打包方法、装置、计算机设备和存储介质 | |
CN111708971A (zh) | 页面配置方法、装置、计算机设备和存储介质 | |
CN110837391A (zh) | 应用程序的热更新方法及装置、存储介质及电子设备 | |
CN112596746B (zh) | 应用安装包生成方法、装置、计算机设备和存储介质 | |
CN112416350A (zh) | 视图页面构建方法、装置、计算机设备和存储介质 | |
CN112181437A (zh) | 基于Devops的灰度发布方法、装置、计算机设备及存储介质 | |
CN112818270A (zh) | 数据跨域传递方法、装置及计算机设备 | |
CN112083925A (zh) | 基于h5页面开发的数据获取方法、装置、设备及存储介质 | |
CN109766084B (zh) | 支付应用的定制开发方法、装置、计算机设备和存储介质 | |
CN106775608B (zh) | 独立***进程的实现方法和装置 | |
CN115017436B (zh) | 应用程序的数据交互方法、装置、计算机设备和存储介质 | |
CN113315829B (zh) | 客户端离线化h5页面加载方法、装置、计算机设备及介质 | |
CN110134416A (zh) | 软件更新方法、装置及计算机可读存储介质 | |
CN114489698A (zh) | 应用程序安装方法和装置 | |
CN113296799A (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 |