CN109739600B - 数据处理方法、介质、装置和计算设备 - Google Patents
数据处理方法、介质、装置和计算设备 Download PDFInfo
- Publication number
- CN109739600B CN109739600B CN201811608252.7A CN201811608252A CN109739600B CN 109739600 B CN109739600 B CN 109739600B CN 201811608252 A CN201811608252 A CN 201811608252A CN 109739600 B CN109739600 B CN 109739600B
- Authority
- CN
- China
- Prior art keywords
- resource
- application
- theme style
- configuration file
- style
- 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.)
- Active
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明的实施方式提供了一种数据处理方法,包括:获取应用主题样式的资源配置文件,所述资源配置文件通过指定元数据进行资源描述;基于所述资源配置文件中的指定元数据自动构建应用主题样式资源工具类;基于所述应用主题样式资源工具类生成应用安装包,以使应用在更换主题样式时能够调用执行所述应用主题样式资源工具类。本公开实施例能够实现细粒度的资源配置,无需开发人员手动逐一对各主题样式的各元素资源进行编写,省时省力,扩展性强,适合批量化构建应用主题样式资源工具类。本发明的实施方式还提供了一种数据处理装置、介质和计算设备。
Description
技术领域
本发明的实施方式涉及计算机技术领域,更具体地,本发明的实施方式涉及数据处理方法、介质、装置和计算设备。
背景技术
本部分旨在为权利要求书中陈述的本发明的实施方式提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。
移动应用通常具有更换主题样式的功能,现有技术中通常通过以下两种方式实现该功能:第一种方式,直接利用移动应用开发的开源库中已有的资源属性进行设置,例如,Flutter库中可以设置主题ThemeData,具体定制其中的属性值如亮度、主题色、光标色等,该方式虽然简单,但由于开源库中各属性的设置模式有限、粒度较大,无法实现对应用主题样式的精细定制。第二种方式,开发人员手动编写支持应用主题样式更换的资源工具包,需要付出大量的工作,且由于编写得到的资源工具包标准不一,可读性差且无法扩展。
发明内容
出于上述原因,现有技术无法精细化且便捷地实现应用更换主题样式的功能,用户体验差。
为此,需要一种改进的数据处理方法,以实现精细化且便捷的应用更换主题样式功能。
在本上下文中,本发明的实施方式期望提供一种数据处理方法和装置。
在本发明实施方式的第一方面中,提供了一种数据处理方法,包括:获取应用主题样式的资源配置文件,其中所述资源配置文件包括对资源进行描述的指定元数据;基于所述资源配置文件的指定元数据构建应用主题样式资源工具类;以及,基于所述应用主题样式资源工具类生成应用安装包,以使应用在更换主题样式时能够调用执行所述应用主题样式资源工具类。
在本发明的一个实施例中,上述获取应用主题样式的资源配置文件包括:定义指定元数据,所述指定元数据包括与多个主题样式相对应的多个成员变量;生成应用主题样式的资源配置文件,所述资源配置文件用于声明一个或多个元素资源,其中利用所述指定元数据描述所述元素资源基于主题样式下的取值。
在本发明的另一实施例中,上述元素资源包括如下至少一项:颜色资源、图片资源和字体资源。
在本发明的又一实施例中,上述基于所述资源配置文件的指定元数据构建应用主题样式资源工具类包括:识别所述资源配置文件中由指定元数据描述的元素资源;建立所述元素资源基于主题样式的标识信息与取值的映射关系;以及,基于所述映射关系构建应用主题样式资源工具类。
在本发明的再一实施例中,当应用更换为多个主题样式中的第一主题样式时,调用所述应用主题样式资源工具类,以所述应用主题样式资源工具类中与所述第一主题样式相关联的各元素资源的映射关系对相应元素资源进行设置。
在本发明的再一实施例中,上述资源配置文件和上述应用主题样式资源工具类基于Dart语言生成。
在本发明实施方式的第二方面中,提供了一种数据处理装置,包括获取模块、构建模块和打包模块。获取模块用于获取应用主题样式的资源配置文件,其中所述资源配置文件包括对资源进行描述的指定元数据。构建模块用于基于所述资源配置文件的指定元数据构建应用主题样式资源工具类。打包模块用于基于所述应用主题样式资源工具类生成应用安装包,以使应用在更换主题样式时能够调用执行所述应用主题样式资源工具类。
在本发明的一个实施例中,获取模块获取应用主题样式的资源配置文件具体为:获取模块用于定义指定元数据,所述指定元数据包括与多个主题样式相对应的多个成员变量;生成应用主题样式的资源配置文件,所述资源配置文件用于声明一个或多个元素资源,其中利用所述指定元数据描述所述元素资源基于主题样式的取值。
在本发明的另一实施例中,上述元素资源包括如下至少一项:颜色资源、图片资源和字体资源。
在本发明的又一实施例中,构建模块基于所述资源配置文件的指定元数据构建应用主题样式资源工具类具体为:构建模块用于识别所述资源配置文件中由指定元数据描述的元素资源;建立所述元素资源基于主题样式的标识信息与取值的映射关系;基于所述映射关系构建应用主题样式资源工具类。
在本发明的再一实施例中,当应用更换为多个主题样式中的第一主题样式时,调用所述应用主题样式资源工具类,以所述应用主题样式资源工具类中与所述第一主题样式相关联的各元素资源的映射关系对相应元素资源进行设置。
在本发明的再一实施例中,上述资源配置文件和上述应用主题样式资源工具类基于Dart语言生成。
在本发明实施方式的第三方面中,提供了一种介质,存储有计算机可执行指令,指令在被处理器执行时用于实现:上述实施例中任一项所述的数据处理方法。
在本发明实施方式的第四方面中,提供了一种计算设备,包括:存储器、处理器及存储在存储器上并可在处理器上运行的可执行指令,处理器执行指令时实现:上述实施例中任一项所述的数据处理方法。
根据本发明实施方式的数据处理方法和装置,应用主题样式的资源配置文件通过指定元数据进行资源描述,利用元数据的标记功能,代码能够自动识别元数据并构建成可被调用执行的资源工具类,既能实现细粒度的资源配置,又无需开发人员手动逐一对各主题样式的各元素资源进行编写,省时省力,扩展性强,适合批量化构建应用主题样式资源工具类,能够精细化、便捷地实现应用的主题样式更换功能。
附图说明
通过参考附图阅读下文的详细描述,本发明示例性实施方式的上述以及其他目的、特征和优点将变得易于理解。在附图中,以示例性而非限制性的方式示出了本发明的若干实施方式,其中:
图1示意性地示出了根据本发明实施方式的数据处理方法及其装置的应用场景;
图2示意性地示出了根据本发明一个实施例的数据处理方法的流程图;
图3A示意性地示出了根据本发明一个实施例的构建应用主题样式资源工具类的流程图;
图3B示意性地示出了根据本发明一个实施例的工具类生成器的数据流图;
图4示意性地示出了根据本发明一个实施例的数据处理装置的框图;
图5示意性地示出了根据本发明实施方式的计算机可读存储介质产品的示意图;以及
图6示意性地示出了根据本发明实施方式的计算设备的框图。
在附图中,相同或对应的标号表示相同或对应的部分。
具体实施方式
下面将参考若干示例性实施方式来描述本发明的原理和精神。应当理解,给出这些实施方式仅仅是为了使本领域技术人员能够更好地理解进而实现本发明,而并非以任何方式限制本发明的范围。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。
本领域技术人员知道,本发明的实施方式可以实现为一种系统、装置、设备、方法或计算机程序产品。因此,本公开可以具体实现为以下形式,即:完全的硬件、完全的软件(包括固件、驻留软件、微代码等),或者硬件和软件结合的形式。
根据本发明的实施方式,提出了一种数据处理方法、介质、装置和计算设备。
在本文中,需要理解的是,所涉及的术语包括:应用主题样式、资源配置文件、元数据、应用主题样式资源工具类等。其中,应用主题样式是指应用的界面元素显示风格,应用主题样式的资源配置文件用于定义任一主题样式下各界面元素的具体取值。元数据又称诠释数据,为描述其他数据信息的数据,主要是描述数据属性的信息,用于支持如指示存储位置、历史数据、资源查找、文件记录等功能。应用主题样式资源工具类是封装有应用主题更换逻辑的工具类,在应用需要更换主题样式时可以直接调用执行该工具类。此外,附图中的任何元素数量均用于示例而非限制,以及任何命名都仅用于区分,而不具有任何限制含义。
下面参考本发明的若干代表性实施方式,详细阐释本发明的原理和精神。
发明概述
在实现本公开构思的过程中,发明人发现,现有技术中实现应用更换主题样式功能的方式具有以下问题:应用主题样式的设置粒度较大,无法实现对应用主题样式的精细定制;而要对应用主题样式进行精细定制时,又需开发人员手动编写支持应用主题样式更换的资源工具包,需要付出大量的工作,且由于编写得到的资源工具包标准不一,可读性差、无法扩展、不方便使用。
为此,本发明实施例提供了一种数据处理方法和装置,该方法包括:获取应用主题样式的资源配置文件,所述资源配置文件通过指定元数据进行资源描述;基于所述资源配置文件中的指定元数据自动构建应用主题样式资源工具类;基于所述应用主题样式资源工具类生成应用安装包,以使应用在更换主题样式时能够调用执行所述应用主题样式资源工具类。本方案中,应用主题样式的资源配置文件通过指定元数据进行资源描述,利用元数据的标记功能,代码能够自动识别元数据并构建成可被调用执行的资源工具类。既能实现细粒度的资源配置,又无需开发人员手动逐一对各主题样式的各元素资源进行编写,省时省力,扩展性强,适合批量化构建应用主题样式资源工具类,能够精细化、便捷地实现应用的主题样式更换功能。
在介绍了本发明的基本原理之后,下面具体介绍本发明的各种非限制性实施方式。
应用场景总览
首先参考图1详细阐述本发明实施例的数据处理方法及其装置的应用场景。
图1示意性地示出了根据本发明实施方式的数据处理方法及其装置的应用场景,在图1所示的应用场景中,可以包括终端设备100,该终端设备100中安装有应用A。
在终端设备100中启动应用A,进入中间所示的应用A对应的主页面,该主页面显示有搜索栏和两个图标,点击不同的图标即进入相应的子页面。当前应用A所使用的是第一主题样式,响应于用户更换应用A的主题样式的操作(如用户进行应用换肤操作),将应用A从中间的第一主题样式更换为右侧的第二主题样式。可以看出,应用A对应的主页面的颜色发生了变化、搜索栏的形状发生了变化、以及两个图标的图片和字体也发生了变化。
同理,当该应用A更换为其他主题样式时,应用A的页面显示会进行相对应的变化,用户可以根据自身偏好选择合适的应用主题样式。
示例性方法
下面结合图1的应用场景,参考图2~图3B来描述根据本发明示例性实施方式的数据处理方法。需要注意的是,上述应用场景仅是为了便于理解本发明的精神和原理而示出,本发明的实施方式在此方面不受任何限制。相反,本发明的实施方式可以应用于适用的任何场景。
图2示意性地示出了根据本发明一个实施例的数据处理方法的流程图。如图2所示,该方法包括如下操作:
操作S201,获取应用主题样式的资源配置文件,其中所述资源配置文件包括对资源进行描述的指定元数据。
操作S202,基于所述资源配置文件的指定元数据构建应用主题样式资源工具类。
操作S203,基于所述应用主题样式资源工具类生成应用安装包,以使应用在更换主题样式时能够调用执行所述应用主题样式资源工具类。
可见,在图2所示的方法中,应用主题样式的资源配置文件通过指定元数据进行资源描述,利用元数据的标记功能,代码能够自动识别元数据并构建成可被调用执行的资源工具类。既能实现细粒度的资源配置,又无需开发人员手动逐一对各主题样式的各元素资源进行编写,省时省力,扩展性强,适合批量化构建应用主题样式资源工具类,能够精细化、便捷地实现应用的主题样式更换功能。
例如,应用A包括默认主题样式、第一主题样式和第二主题样式,获取应用A对应的应用主题样式的资源配置文件,该资源配置文件中定义了默认主题样式下应用A的显示界面中各元素资源的具体取值、第一主题样式下应用A的显示界面中各元素资源的具体取值、以及第二主题样式下应用A的显示界面中各元素资源的具体取值。本方案中该资源配置文件通过指定元数据进行资源描述,利用元数据的标记特性来标记各主题样式对应的资源属性。对于该通过指定元数据描述的资源配置文件,利用元数据的标记特性可以识别出其中的指定元数据的表达,基于所识别出的指定元数据所表达的资源配置逻辑封装构建成应用A的应用主题样式资源工具类。基于该应用主题样式资源工具类打包生成应用A的应用安装包。应用A的应用安装包可安装于用户的终端设备中,其中的应用主题样式资源工具类存放于相应目录中。默认安装时,应用A为默认主题样式,调用执行相应的应用主题样式资源工具类,以完成默认主题样式的渲染呈现。当用户在终端设备中对应用A进行应用主题样式更换时,如从默认主题样式更换为第一主题样式,调用执行相应的应用主题样式资源工具类,以完成第一主题样式的渲染呈现。
在本公开的一个实施例中,操作S201获取应用主题样式的资源配置文件包括:定义指定元数据,所述指定元数据包括与多个主题样式相对应的多个成员变量,即所述指定元数据包括对应于不同主题样式的多个成员变量。然后,生成应用主题样式的资源配置文件,所述资源配置文件用于声明一个或多个元素资源,其中利用所述指定元数据描述所述元素资源基于主题样式的取值。
依据本实施例的方案,先定义指定元数据,再利用定义好的指定元数据对各元素资源在不同主题下的取值进行描述,从而生成通过指定元数据表达的应用主题样式的资源配置文件。相当于预先定义好统一的表达形式,然后在资源配置文件中就可以利用统一的表达形式高效地批量化表达,可读性强,使得后续在利用应用主题样式的资源配置文件生成应用主题样式资源工具类的过程中,代码也可以高效地识别资源配置文件所表达的资源配置信息,而无需开发人员手动将各细粒度的资源配置信息逐一写入工具类中,非常高效便捷。并且如果后续需要增加应用主题样式或对原有的应用主题样式的资源配置信息进行修改时,直接可以利用已定义好的指定元数据在原资源配置文件中进行资源配置信息的增加或更改以得到新的资源配置文件,识别该新的资源配置文件可构建出新的应用主题样式资源工具类,该过程不会增加开发人员的工作量,可扩展性极强。
其中可选地,元素资源可以包括如下至少一项:颜色资源、图片资源和字体资源。在其他实施例中,元素资源可以包括应用界面显示的任意类型元素资源,可以根据实际需要进行选择,在此不做限制。
沿用上文中应用A的例子,应用A包括默认主题样式、第一主题样式和第二主题样式。首先定义指定元数据,本例中指定元数据被称为注解数据(annotation),相应代码如下:
class NTColor{
finalint color;
final int t1;
final int t2;
……
const NTColor(this.color,{this.t1,this.t2....};
}
在本段代码中,定义一个类class NTColor,然后在该类中定义相同名字的const构造方法const NTColor,定义为编译时常量。该注解数据中包括:对应于默认主题样式的成员变量color、对应于第一主题样式的成员变量t1、以及对应于第二主题样式的成员变量t2,color为默认主题样式下的颜色资源的取值,t1为第一主题样式下的颜色资源的取值,t2为第二主题样式下的颜色资源的取值。所定义的注解数据NTColor规定了颜色资源的资源配置信息的表达形式。同理地,本实施例的方案还需要定义如图片资源、字体资源等其他元素资源对应的注解数据,定义方式与上述定义颜色资源对应的注解数据的定义方式相同,在此不再赘述。
在定义指定元数据后,生成应用主题样式的资源配置文件,利用定义好的指定元数据声明各元素资源,相应代码如下:
@NTColor(0xff999999,t1:0xff666666,t2:0x333333......)
String_title;
在本段代码中,以“@”开始的修饰符@NTColor为上文中定义的注解数据,该应用主题样式的资源配置文件利用该注解数据声明了应用A的显示界面中的标题title对应的颜色资源在不同应用主题样式下的取值。本例中,声明了:标题在默认主题样式下的颜色资源的取值为0xff999999,标题在第一主题样式下的颜色资源的取值为0xff666666,以及标题在第二主题样式下的颜色资源的取值为0x333333。同理,利用注解数据@NTColor可以声明应用A的显示界面中其他显示内容对应的颜色资源在不同主题样式下的取值,所声明显示内容的越多,应用主题样式的设置就越精细。此外,如果定义了其他元素资源对应的注解数据,如字体资源的注解数据,则可以利用该字体资源的注解数据在应用主题样式的资源配置文件中声明标题对应的字体资源在不同应用主题样式下的取值,也可以声明其他显示内容对应的字体资源在不同应用主题样式下的取值。应用主题样式的资源配置文件利用预先定义的各种元素资源的注解数据声明不同应用主题样式下相应元素资源的取值的过程均同理,在此不再赘述。
在本公开的一个实施例中,操作S202基于所述资源配置文件的指定元数据构建应用主题样式资源工具类包括:识别所述资源配置文件中由指定元数据描述的元素资源,建立所述元素资源在不同主题样式下的标识信息与取值的映射关系,以及,基于所述映射关系构建应用主题样式资源工具类。
依据本实施例的方案,基于指定元数据的标记特性,识别资源配置文件中的指定元数据,建立起各元素资源在不同主题样式下标识信息与取值的映射关系,将映射关系写入应用主题样式资源工具类,相比于现有的开发人员直接手动编写资源工具类的过程,实现了自动化、标准化、可定制的资源工具类构建过程,更加方便快捷。
继续沿用上文中应用A的例子,在生成应用A对应的应用主题样式的资源配置文件后,遍历该应用主题样式的资源配置文件,识别其中利用指定元数据描述的资源配置信息,如扫描到上文中示出的@NTColor描述的资源配置信息,建立相应的颜色资源在不同主题样式下的标识信息与取值的映射关系如下:
title:0xff999999,
t1_title:0xff6666,
t2_title:0x333333
其中,title表示应用A的显示界面的标题在默认主题样式下的颜色资源的标识信息,该标识信息与色值Oxff999999具有映射关系。t1_title表示应用A的显示界面的标题在第一主题样式下的颜色资源的标识信息,该标识信息与色值0xff6666具有映射关系。t2_title表示应用A的显示界面的标题在第二主题样式下的颜色资源的标识信息,该标识信息与色值0x333333具有映射关系。同理地,对于其他指定元数据描述的资源配置信息,可以识别相应指定元数据建立相应的元素资源在不同主题样式下的映射关系,在此不再赘述。
基于所建立的映射关系构建应用主题样式资源工具类如下:
其中,上文所建立的颜色资源相关的映射关系保存于Map<String.int>colorMap中,形成应用A的显示界面中的标题的颜色资源对应的工具类,应用A的显示界面中的其他显示内容、其他元素资源对应工具类的形成过程与此同理,不再赘述。
在上述构建应用主题样式资源工具类之后,基于所述应用主题样式资源工具类生成应用安装包,该应用安装包可以安装于用户的终端设备上。作为一个可选的实施例,响应于用户更换应用主题样式的操作,当应用更换为多个主题样式中的第一主题样式时,调用所述应用主题样式资源工具类,以所述应用主题样式资源工具类中与所述第一主题样式相关联的各元素资源的映射关系对相应元素资源进行设置。当应用更换为多个主题样式中的第二主题样式时,调用所述应用主题样式资源工具类,以所述应用主题样式资源工具类中与所述第二主题样式相关联的各元素资源的映射关系对相应元素资源进行设置。
例如,当应用A更换为第一主题样式时,根据颜色资源相关的映射关系Map<String.int>colorMap中与第一主题样式相关联的映射关系来对应用A的各显示内容的颜色进行设置,根据图片资源相关的映射关系Map<String.int>imgMap中与第一主题样式相关联的映射关系来对应用A的各显示内容的图片进行设置,根据字体资源相关的映射关系Map<String.int>fontMap中与第一主题样式相关联的映射关系来对应用A的各显示内容的字体进行设置。
在本公开的一个实施例中,本方案中的应用主题样式的资源配置文件和应用主题样式资源工具类基于Dart语言生成。例如,本方案基于Flutter库实现,Flutter是用于跨平台移动应用开发的开源库,利用skia引擎自己渲染界面以避免各移动端的界面不一致性,其开发语言为Dart。
下面参考图3A~图3B,通过具体实施例说明基于Dart语言构建应用主题样式资源工具类的过程:
本例中,已定义指定元数据NTColor,已获取通过指定元数据进行资源描述的应用主题样式的资源配置文件res.dart。利用source_gen开源包,设计工具类生成器NTColorGenerator,用于根据应用主题样式的资源配置文件中的资源描述构建生成最终的ColorConstants工具类。
图3A示意性地示出了根据本发明一个实施例的构建应用主题样式资源工具类的流程图。如图3A所示,该方法包括如下操作:
操作S301,开始。
操作S302,遍历res.dart文件,生成Map<String.int>colorMap。
本操作具体包括:查找res.dart文件中带有NTColor注解数据的资源描述,根据该资源描述中相关的元素名确定标识信息,取相应color、t1、t2的取值,建立标识信息和取值的映射关系,放入Map<String.int>colorMap。
例如,查找到带有NTColor注解数据的资源描述如下:
@NTColor(0xff999999,t1:0xff666666,t2:0x333333......)
String_title;
根据其中的元素名“title”、“t1”和“t2”确定标识信息分别为“title”、“t1_title”和“t2_title”,分别取0xff999999、0xff666666和0x333333三个取值,建立起“title”与0xff999999的映射关系、“t1_title”与0xff666666的映射关系、以及“t2_title”与0x333333的映射关系,放入Map<String.int>colorMap。
其中需要说明的是,在取相应color、t1、t2的取值时,如果某个取值不存在,如t2的取值不存在,则使用默认主题样式下的color的取值代替,以避免取出数值为空的情形。
操作S303,创建res.r.dart文件作为res.dart文件的一部分。
操作S304,向res.r.dart文件写入内容,得到完整的res.r.dart文件。
本操作具体包括:先声明res.r.dart文件作为res.dart文件的一部分,即声明part of“res.dart”。然后写入类描述class ColorConstants,遍历Map<String.int>colorMap,根据其中在默认主题样式下、第一主题样式下、第二主题样式下的映射关系写入Map<String.int>colorMap的对应代码,写入类描述结束,得到最终的ColorConstants工具类。
操作S305,结束。
图3B示意性地示出了根据本发明一个实施例的工具类生成器的数据流图。
如图3B所示,自定义的工具类生成器NTColorGenerator的输入为利用指定元数据NTColor进行资源描述的资源配置文件:
@NTColor(0xff999999,t1:0xff666666)
String_title;
工具类生成器NTColorGenerator执行如图3A所示的构建过程,工具类生成器NTColorGenerator的输出为应用主题样式资源工具类:
其他元素资源对应的工具类的生成规则与上述颜色资源的生成规则同理,在此不再赘述。上文中的具体举例仅为更清楚地说明本公开实施例的方案,元素资源的类型、显示内容的类型、应用主题样式的数量等均可以根据具体情况进行设置,在此不做限制。
本公开实施例所提供的方案通过自定义指定元数据的方式使得各元素资源在不同主题下的资源值对应关系清晰,基于指定元数据的标记特性,利用自定义的代码自动化生成工具,大大减少开发人员对各资源在不同主题下的资源描述所需代码量,且具有更高的可读性和扩展性,对于可能的多种应用主题样式的支持度高。
示例性装置
在介绍了本发明示例性实施方式的方法之后,接下来,参考图4对本发明示例性实施方式的数据处理装置进行详细阐述。
图4示意性地示出了根据本发明一个实施例的数据处理装置的框图。如图4所示,该数据处理装置400包括:
获取模块401用于获取应用主题样式的资源配置文件,其中所述资源配置文件包括对资源进行描述的指定元数据。
构建模块402用于基于所述资源配置文件的指定元数据构建应用主题样式资源工具类。
打包模块403用于基于所述应用主题样式资源工具类生成应用安装包,以使应用在更换主题样式时能够调用执行所述应用主题样式资源工具类。
可见,应用主题样式的资源配置文件通过指定元数据进行资源描述,利用元数据的标记功能,代码能够自动识别元数据并构建成可被调用执行的资源工具类,既能实现细粒度的资源配置,又无需开发人员手动逐一对各主题样式的各元素资源进行编写,省时省力,扩展性强,适合批量化构建应用主题样式资源工具类,能够精细化、便捷地实现应用的主题样式更换功能。
在本发明的一个实施例中,获取模块401获取应用主题样式的资源配置文件包括:获取模块401定义指定元数据,所述指定元数据包括与多个主题样式相对应的多个成员变量;生成应用主题样式的资源配置文件,所述资源配置文件用于声明一个或多个元素资源,其中利用所述指定元数据描述所述元素资源基于主题样式的取值。
其中可选地,上述元素资源包括如下至少一项:颜色资源、图片资源和字体资源。
在本发明的一个实施例中,构建模块402基于所述资源配置文件的指定元数据构建应用主题样式资源工具类包括:构建模块402识别所述资源配置文件中由指定元数据描述的元素资源;建立所述元素资源基于主题样式的标识信息与取值的映射关系;以及,基于所述映射关系构建应用主题样式资源工具类。
在本发明的一个实施例中,当应用更换为多个主题样式中的第一主题样式时,调用所述应用主题样式资源工具类,以所述应用主题样式资源工具类中与所述第一主题样式相关联的各元素资源的映射关系对相应元素资源进行设置。
在本发明的一个具体的实施例中,上述资源配置文件和上述应用主题样式资源工具类基于Dart语言生成。
需要说明的是,装置部分实施例中各模块/单元/子单元等的实施方式、解决的技术问题、实现的功能、以及达到的技术效果分别与方法部分实施例中各对应的步骤的实施方式、解决的技术问题、实现的功能、以及达到的技术效果相同或类似,在此不再赘述。
示例性介质
在介绍了本发明示例性实施方式的方法和装置之后,接下来,对本发明示例性实施方式的实现数据处理方法的介质进行介绍。
本发明实施例提供了一种介质,存储有计算机可执行指令,上述指令在被处理器执行时用于实现上述方法实施例中任一项所述的数据处理方法。
在一些可能的实施方式中,本发明的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在计算设备上运行时,所述程序代码用于使所述计算设备执行本说明书上述“示例性方法”部分中描述的根据本发明各种示例性实施方式的数据处理方法中的步骤,例如,所述计算设备可以执行如图2中所示的操作步骤。
所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
图5示意性地示出了根据本发明实施方式的计算机可读存储介质产品的示意图,如图5所示,描述了根据本发明的实施方式的实现数据处理方法的程序产品50,其可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在计算设备,例如个人电脑上运行。然而,本发明的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、有线、光缆,RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的程序代码,所述程序设计语言包括面向对象的程序设计语言——诸如Java,C++等,还包括常规的过程式程序设计语言——诸如“C”,语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分在用户设备上执行部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)一连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
示例性计算设备
在介绍了本发明示例性实施方式的方法、介质和装置之后,接下来,介绍根据本发明的另一示例性实施方式的实现数据处理方法的计算设备。
本发明实施例还提供了一种计算设备,包括:存储器、处理器及存储在存储器上并可在处理器上运行的可执行指令,所述处理器执行所述指令时实现上述方法实施例中任一项所述的数据处理方法。
所属技术领域的技术人员能够理解,本发明的各个方面可以实现为系统、方法或程序产品。因此,本发明的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。
在一些可能的实施方式中,根据本发明的实现数据处理方法的计算设备可以至少包括至少一个处理单元、以及至少一个存储单元。其中,所述存储单元存储有程序代码,当所述程序代码被所述处理单元执行时,使得所述处理单元执行本说明书上述“示例性方法”部分中描述的根据本发明各种示例性实施方式的数据处理方法中的操作步骤。例如,所述处理单元可以执行如图2中所示的操作步骤。
下面参照图6来描述根据本发明的这种实施方式的实现数据处理方法的计算设备60。如图6所示的计算设备60仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图6所示,计算设备60以通用计算设备的形式表现。计算设备60的组件可以包括但不限于:上述至少一个处理单元601、上述至少一个存储单元602、连接不同系统组件(包括存储单元602和处理单元601)的总线603。
总线603包括数据总线、地址总线和控制总线。
存储单元602可以包括易失性存储器,例如随机存取存储器(RAM)6021和/或高速缓存存储器6022,还可以进一步包括只读存储器(ROM)6023。
存储单元602还可以包括具有一组(至少一个)程序模块6024的程序/实用工具6025,这样的程序模块6024包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
计算设备60也可以与一个或多个外部设备604(例如键盘、指向设备、蓝牙设备等)通信,这种通信可以通过输入/输出(I/O)接口605进行。并且,计算设备60还可以通过网络适配器606与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器606通过总线603与计算设备60的其它模块通信。应当明白,尽管图中未示出,可以结合计算设备60使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
应当注意,尽管在上文详细描述中提及了数据处理装置的若干单元/模块或子单元/模块,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本发明的实施方式,上文描述的两个或更多单元/模块的特征和功能可以在一个单元/模块中具体化。反之,上文描述的一个单元/模块的特征和功能可以进一步划分为由多个单元/模块来具体化。
此外,尽管在附图中以特定顺序描述了本发明方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
虽然已经参考若干具体实施方式描述了本发明的精神和原理,但是应该理解,本发明并不限于所公开的具体实施方式,对各方面的划分也不意味着这些方面中的特征不能组合以进行受益,这种划分仅是为了表述的方便。本发明旨在涵盖所附权利要求的精神和范围内所包括的各种修改和等同布置。
Claims (12)
1.一种数据处理方法,包括:
获取应用主题样式的资源配置文件,其中所述资源配置文件包括对资源进行描述的指定元数据;
基于所述资源配置文件的指定元数据构建应用主题样式资源工具类;以及
基于所述应用主题样式资源工具类生成应用安装包,以使应用在更换主题样式时能够调用执行所述应用主题样式资源工具类;
其中,所述获取应用主题样式的资源配置文件包括:
定义指定元数据,所述指定元数据包括与多个主题样式相对应的多个成员变量;
生成应用主题样式的资源配置文件,所述资源配置文件用于声明一个或多个元素资源,其中利用所述指定元数据描述所述元素资源基于主题样式的取值。
2.根据权利要求1所述的方法,其中,所述元素资源包括如下至少一项:颜色资源、图片资源和字体资源。
3.根据权利要求1所述的方法,其中,所述基于所述资源配置文件中的指定元数据构建应用主题样式资源工具类包括:
识别所述资源配置文件中由指定元数据描述的元素资源;
建立所述元素资源基于主题样式的标识信息与取值的映射关系;以及
基于所述映射关系构建应用主题样式资源工具类。
4.根据权利要求3所述的方法,其中,当应用更换为多个主题样式中的第一主题样式时,调用所述应用主题样式资源工具类,以所述应用主题样式资源工具类中与所述第一主题样式相关联的各元素资源的映射关系设置元素资源。
5.根据权利要求1所述的方法,其中,所述资源配置文件和所述应用主题样式资源工具类基于Dart语言生成。
6.一种数据处理装置,包括:
获取模块,用于获取应用主题样式的资源配置文件,其中所述资源配置文件包括对资源进行描述的指定元数据;
构建模块,用于基于所述资源配置文件的指定元数据构建应用主题样式资源工具类;以及
打包模块,用于基于所述应用主题样式资源工具类生成应用安装包,以使应用在更换主题样式时能够调用执行所述应用主题样式资源工具类;
其中,所述获取模块获取应用主题样式的资源配置文件包括:
所述获取模块,用于定义指定元数据,所述指定元数据包括与多个主题样式相对应的多个成员变量;生成应用主题样式的资源配置文件,所述资源配置文件用于声明一个或多个元素资源,其中利用所述指定元数据描述所述元素资源基于主题样式的取值。
7.根据权利要求6所述的装置,其中,所述元素资源包括如下至少一项:颜色资源、图片资源和字体资源。
8.根据权利要求6所述的装置,其中,所述构建模块基于所述资源配置文件的指定元数据构建应用主题样式资源工具类包括:
所述构建模块,用于识别所述资源配置文件中由指定元数据描述的元素资源;建立所述元素资源基于主题样式的标识信息与取值的映射关系;以及,基于所述映射关系构建应用主题样式资源工具类。
9.根据权利要求8所述的装置,其中,当应用更换为多个主题样式中的第一主题样式时,调用所述应用主题样式资源工具类,以所述应用主题样式资源工具类中与所述第一主题样式相关联的各元素资源的映射关系设置元素资源。
10.根据权利要求6所述的装置,其中,所述资源配置文件和所述应用主题样式资源工具类基于Dart语言生成。
11.一种介质,存储有计算机可执行指令,所述指令在被处理器执行时用于实现:
如权利要求1至5中任一项所述的数据处理方法。
12.一种计算设备,包括:存储器、处理器及存储在存储器上并可在处理器上运行的可执行指令,所述处理器执行所述指令时实现:
如权利要求1至5中任一项所述的数据处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811608252.7A CN109739600B (zh) | 2018-12-26 | 2018-12-26 | 数据处理方法、介质、装置和计算设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811608252.7A CN109739600B (zh) | 2018-12-26 | 2018-12-26 | 数据处理方法、介质、装置和计算设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109739600A CN109739600A (zh) | 2019-05-10 |
CN109739600B true CN109739600B (zh) | 2022-02-25 |
Family
ID=66360065
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811608252.7A Active CN109739600B (zh) | 2018-12-26 | 2018-12-26 | 数据处理方法、介质、装置和计算设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109739600B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110286927A (zh) * | 2019-06-24 | 2019-09-27 | 北京字节跳动网络技术有限公司 | Flutter应用的热更新方法、装置及设备 |
CN110766772A (zh) * | 2019-09-10 | 2020-02-07 | 北京字节跳动网络技术有限公司 | 基于Flutter跨平台海报制作方法装置介质和设备 |
CN112783490B (zh) * | 2019-11-11 | 2024-07-23 | 腾讯科技(深圳)有限公司 | 一种数据处理方法、计算机以及可读存储介质 |
CN112084747B (zh) * | 2020-09-17 | 2024-02-02 | 瑞庭网络技术(上海)有限公司 | 一种资源管理方法、装置、电子设备及存储介质 |
CN114428645A (zh) * | 2020-10-29 | 2022-05-03 | 上海博泰悦臻网络技术服务有限公司 | 应用主题设置方法、系统、介质及终端 |
CN112672180B (zh) * | 2020-12-22 | 2023-04-25 | 广州博冠信息科技有限公司 | 直播界面元素配置方法、设备及存储介质 |
CN113076150B (zh) * | 2021-04-13 | 2024-06-14 | 北京同邦卓益科技有限公司 | 界面主题切换方法、装置、设备、储存介质及程序产品 |
CN114840294A (zh) * | 2022-04-27 | 2022-08-02 | 星河智联汽车科技有限公司 | 一种主题更换方法、装置、设备及介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102105862A (zh) * | 2008-07-28 | 2011-06-22 | 微软公司 | 实体交互的自动用户界面生成 |
CN106469071A (zh) * | 2015-08-18 | 2017-03-01 | 腾讯科技(深圳)有限公司 | 应用程序主题更换方法及装置 |
CN106802794A (zh) * | 2016-12-20 | 2017-06-06 | 智车优行科技(北京)有限公司 | 主题切换方法、装置、车辆及系统 |
CN108469955A (zh) * | 2018-03-13 | 2018-08-31 | 山东超越数控电子股份有限公司 | 一种基于注解的Android注入框架 |
CN108469977A (zh) * | 2018-03-26 | 2018-08-31 | 张�林 | 一种界面数据管理方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9292420B2 (en) * | 2014-02-25 | 2016-03-22 | International Business Machines Corporation | Collaborative computer aided test plan generation |
US10606921B2 (en) * | 2016-05-27 | 2020-03-31 | Open Text Sa Ulc | Document architecture with fragment-driven role-based access controls |
-
2018
- 2018-12-26 CN CN201811608252.7A patent/CN109739600B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102105862A (zh) * | 2008-07-28 | 2011-06-22 | 微软公司 | 实体交互的自动用户界面生成 |
CN106469071A (zh) * | 2015-08-18 | 2017-03-01 | 腾讯科技(深圳)有限公司 | 应用程序主题更换方法及装置 |
CN106802794A (zh) * | 2016-12-20 | 2017-06-06 | 智车优行科技(北京)有限公司 | 主题切换方法、装置、车辆及系统 |
CN108469955A (zh) * | 2018-03-13 | 2018-08-31 | 山东超越数控电子股份有限公司 | 一种基于注解的Android注入框架 |
CN108469977A (zh) * | 2018-03-26 | 2018-08-31 | 张�林 | 一种界面数据管理方法 |
Also Published As
Publication number | Publication date |
---|---|
CN109739600A (zh) | 2019-05-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109739600B (zh) | 数据处理方法、介质、装置和计算设备 | |
TWI581188B (zh) | The way to load the driver and the embedded device | |
CN102971688B (zh) | 跨平台应用程序框架 | |
CN107644286B (zh) | 工作流处理方法及装置 | |
US20140324873A1 (en) | Method, device and recording medium for managing application icon | |
CN105426223B (zh) | 应用加载方法和装置 | |
US9841953B2 (en) | Pluggable components for runtime-image generation | |
CN113238795A (zh) | 组件发布方法、装置、电子设备、存储介质及程序产品 | |
US20170168860A1 (en) | Dynamically binding data in an application | |
CN104133706B (zh) | 固件修改方法及固件修改装置 | |
CN113760276A (zh) | 一种生成页面代码的方法和装置 | |
CN105159673A (zh) | 一种设置控件样式的方法和装置 | |
CN110909273B (zh) | 页面的生成方法及相关系统 | |
US9244672B2 (en) | Optimization utility for developing embedded systems | |
CN112825033A (zh) | 界面代码的生成方法、装置、设备及存储介质 | |
CN110806891A (zh) | 嵌入式设备软件版本的生成方法及装置 | |
CN116028062A (zh) | 目标代码的生成方法、npu指令的显示方法及装置 | |
CN111158645B (zh) | 提供集成开发环境的系统和方法 | |
CN115048083A (zh) | 组件的可视化方法、装置、存储介质及电子设备 | |
CN107402749A (zh) | 实现图片加载库的方法及装置 | |
US7702890B2 (en) | Information processing apparatus and program | |
CN112882698A (zh) | 开发环境的生成方法及装置、计算机存储介质及电子设备 | |
CN115658276B (zh) | 业务开发方法、装置、电子设备及可读存储介质 | |
JP6348817B2 (ja) | 画面表示制御装置及び画面表示方法 | |
CN115543278A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |