CN112882772B - 移动终端应用界面的配置方法、移动终端及存储介质 - Google Patents
移动终端应用界面的配置方法、移动终端及存储介质 Download PDFInfo
- Publication number
- CN112882772B CN112882772B CN202110312940.4A CN202110312940A CN112882772B CN 112882772 B CN112882772 B CN 112882772B CN 202110312940 A CN202110312940 A CN 202110312940A CN 112882772 B CN112882772 B CN 112882772B
- Authority
- CN
- China
- Prior art keywords
- mobile terminal
- application interface
- node
- native
- attribute
- 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
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/445—Program loading or initiating
- G06F9/44505—Configuring for program initiating, e.g. using registry, configuration files
-
- 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/445—Program loading or initiating
- G06F9/44521—Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Stored Programmes (AREA)
Abstract
本申请公开了一种移动终端应用界面的配置方法、移动终端、配置装置及计算机可读存储介质,通过获取移动终端应用界面的配置参数,并根据配置参数获取对应所述移动终端应用界面的结构化语言格式的配置文件,对配置文件进行解析生成文档对象模型树,将文档对象模型树与移动终端的原生控件进行关联得到原生控件树,通过原生控件树中各个控件节点对应的原生控件实现移动终端应用界面的配置,能够在不发布新版本应用程序的前提下对移动终端应用界面进行配置,降低运营成本。另外,本申请实施例中配置文件为结构化语言文件,因此移动终端应用无需加载虚拟机等其他的开发工具,移动终端应用加载速度快,用户体验好。
Description
技术领域
本申请涉及终端应用技术领域,尤其涉及移动终端应用界面的配置方法、移动终端及存储介质。
背景技术
随着网络技术和移动互联网的普及,移动终端应用的开发需求越来越大。目前开发者需要针对不同平台的移动终端独立开发移动终端应用,另外,如果开发者需要对移动终端应用的界面进行更新,通常需要引导用户更新移动终端应用的版本,例如安装最新版本的应用程序。而随着信息技术的发展,目前用户对于移动应用界面需求频繁变化,这样需要移动应用开发者频发更新并发布新版本的移动终端应用,由于新版本应用的发布需要通过提审、发布的流程,频繁更新移动应用版本会导致运营成本大大增加。
为了解决上述问题,相关技术中提出了一种跨平台移动应用开发框架:本地交互(RN,React Native)框架,一方面,React Native能够实现跨平台渲染,从而无需开发者单独对各个移动平台独立开发应用,另一方面,React Native能够通过下发应用界面配置对移动应用内的界面进行动态化更新,即能够在不发布新版本移动终端应用的情况下更新移动应用的界面,降低运营成本。然而,React Native需要依赖Javascript VM(JavaScript虚拟机),而加载JavaScript虚拟机的时间较长,用户体验不好。
发明内容
以下是对本文详细描述的主题的概述。本概述并非是为了限制权利要求的保护范围。
本申请实施例提供了一种移动终端应用界面的配置方法、移动终端、配置装置及计算机可读存储介质,能够在不发布新软件版本的情况下更新应用界面,加载速度更快,效率更高,提高用户的体验。
一方面,本申请实施例提供了一种移动终端应用界面的配置方法,包括以下步骤:
获取移动终端应用界面的配置参数,根据所述配置参数获取对应所述移动终端应用界面的结构化语言格式的配置文件;
对所述配置文件进行解析,得到所述配置文件中的节点信息,所述节点信息包括至少一个对象节点之间的层级关系和至少一个所述对象节点中每个所述对象节点的第一属性信息;
根据所述节点信息生成文档对象模型树;
将所述文档对象模型树中的各个所述对象节点与移动终端的原生控件进行关联,生成与所述文档对象模型树对应的原生控件树;
根据所述原生控件树中各个控件节点对应的原生控件配置所述移动终端应用界面。
另一方面,本申请实施例提供了一种移动终端应用界面的配置装置,包括:
配置文件获取单元,用于获取移动终端应用界面的配置参数,根据所述配置参数获取对应所述移动终端应用界面的结构化语言格式的配置文件;
配置文件解析单元,用于对所述配置文件进行解析,得到所述配置文件中的节点信息,所述节点信息包括至少一个对象节点之间的层级关系和至少一个所述对象节点中每个所述对象节点的第一属性信息;
对象模型树生成单元,用于根据所述节点信息生成文档对象模型树;
原生控件树生成单元,用于将所述文档对象模型树中的各个所述对象节点与移动终端的原生控件进行关联,用于生成与所述文档对象模型树对应的原生控件树。
配置单元,用于根据所述原生控件树中各个控件节点对应的原生控件配置所述移动终端应用界面。
可选地,所述第一属性信息包括类目属性、界面布局属性和业务逻辑属性,所述原生控件树生成单元具体还用于:
遍历所述文档对象模型树中的各个所述对象节点,获取各个所述对象节点的第一属性信息;
根据各个所述第一属性信息中的类目属性关联对应类型的原生控件,得到各个控件节点;
根据各个所述第一属性信息中的所述界面布局属性和所述业务逻辑属性配置各个所述控件节点的第二属性信息;
根据各个所述对象节点之间的层级关系建立各个所述控件节点之间的层级关系,生成原生控件树。
可选地,所述原生控件树生成单元具体还用于:
将所述文档对象模型树中的各个所述对象节点与移动终端的原生控件进行映射,生成与所述文档对象模型树对应的原生控件树;
或者,将所述文档对象模型树中的各个所述对象节点与移动终端的原生控件进行绑定,生成与所述文档对象模型树对应的原生控件树。
可选地,所述配置文件获取单元还用于:
根据所述配置参数获取对应所述移动终端应用界面的JavaScript对象简谱JSON格式的配置文件。
可选地,所述配置文件获取单元还用于:
获取来自服务器的配置参数,所述配置参数包括对应所述移动终端应用界面的服务器版本信息;
获取移动终端应用界面的本地版本信息;
将所述本地版本信息与所述服务器版本信息进行比较,若所述本地版本信息与所述服务器版本信息不一致,从所述服务器中下载所述移动终端应用界面对应的结构化语言格式的配置文件。
可选地,所述配置文件获取单元还用于:
启动移动终端应用后,根据内置于所述移动终端应用的服务器地址信息,向所述服务器发送配置参数请求;
获取来自所述服务器的配置参数。
可选地,所述配置文件获取单元还用于:
获取所述移动终端应用界面的页面标识;
根据所述页面标识和内置于所述移动终端应用的服务器地址信息,确定所述移动终端应用界面对应的配置文件下载链接;
通过所述配置文件下载链接获取所述移动终端应用界面对应的结构化语言格式的配置文件。
可选地,所述配置文件获取单元还用于:
获取所述移动终端应用的文本解析器版本;
根据内置于所述移动终端应用的服务器地址信息,向所述服务器发送配置参数请求,所述配置参数请求包括所述文本解析器版本;
获取来自所述服务器的配置参数,所述配置参数为所述服务器确定适配所述文本解析器版本的最新配置参数。
可选地,所述配置单元还用于:
根据所述原生控件树中各个控件节点对应的原生控件更新所述移动终端应用界面;
或者,根据所述原生控件树中各个控件节点对应的原生控件渲染并生成所述移动终端应用界面。
另一方面,本申请实施例提供了一种移动终端应用界面的配置装置,包括:
文件加载层,用于获取移动终端应用界面的配置参数,根据所述配置参数获取对应所述移动终端应用界面的配置文件,所述配置文件为结构化语言文件;
文件解析层,用于对所述配置文件进行解析,得到所述配置文件中的节点信息,所述节点信息包括至少一个对象节点之间的层级关系和至少一个所述对象节点中每个所述对象节点的第一属性信息;
对象模型树生成层,用于根据所述节点信息生成文档对象模型树;
原生界面实例层,用于将所述文档对象模型树中的各个所述对象节点与移动终端的原生控件进行关联,生成与所述文档对象模型树对应的原生控件树,并根据所述原生控件树中各个控件节点对应的原生控件配置所述移动终端应用界面。
另一方面,本申请实施例提供了一种移动终端,包括:
至少一个处理器;
至少一个存储器,用于存储至少一个程序;
当至少一个所述程序被至少一个所述处理器执行时实现如上述实施例所述的移动终端应用界面的配置方法。
另一方面,本申请实施例提供了一种计算机可读存储介质,其中存储有处理器可执行的程序,所述处理器可执行的程序被处理器执行时用于实现如上述实施例所述的移动终端应用界面的配置方法。
另一方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行实现如如上述实施例所述的移动终端应用界面的配置方法。
本申请实施例的有益效果是:
通过获取移动终端应用界面的配置参数,并根据配置参数获取对应所述移动终端应用界面的结构化语言格式的配置文件,对配置文件进行解析,根据解析结果生成文档对象模型树,将文档对象模型树与移动终端的原生控件进行关联得到原生控件树,通过原生控件树中各个控件节点对应的原生控件实现移动终端应用界面的配置,由于移动终端应用界面能够独立与移动终端应用程序对其中的文档对象模型树以及原生控件树进行配置,因此能够在不发布新版本应用程序的前提下对移动终端应用界面进行配置,降低运营成本。另外,本申请实施例中配置文件为结构化语言文件,由于结构化语言文件使用的是原生代码,因此移动终端应用无需加载虚拟机等其他的开发工具,也无需采用胶水代码进行桥接即可实现移动终端应用界面的配置。资源占用少,移动终端应用加载速度快,能提高用户的体验。
本申请的其他特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本申请而了解。本申请的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
附图说明
附图用来提供对本申请技术方案的进一步理解,并且构成说明书的一部分,与本申请的实施例一起用于解释本申请的技术方案,并不构成对本申请技术方案的限制。
图1是已知技术中React Native的系统架构图;
图2是本发明实施例提供的移动终端应用界面的配置系统的一个可选的架构示意图;
图3是本发明一个实施例提供的移动终端应用界面的配置方法的流程图;
图4是图3中步骤304的一个实施例的方法流程图;
图5是图3中步骤301的一个实施例的方法流程图;
图6是图3中步骤301的一个实施例的方法流程图;
图7是图3中步骤301的一个实施例的方法流程图;
图8是图7中步骤701的一个实施例的方法流程图;
图9是图7中步骤703的一个实施例的方法流程图;
图10是图7中步骤701的一个实施例的方法流程图;
图11是本发明一个实施例提供的移动终端应用界面的配置装置的系统架构图;
图12是本发明一个实施例提供的移动终端应用界面的配置装置执行流程图;
图13是本发明一个实施例提供的移动终端应用界面的配置装置的结构框图;
图14是本发明实施例提供的移动终端的部分的结构框图。
具体实施方式
下面结合说明书附图和具体的实施例对本申请进行进一步的说明。所描述的实施例不应视为对本申请的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
在以下的描述中,涉及到“一实施例”、“一个实施例”,其描述了所有可能实施例的子集,但是可以理解,“一实施例”、“一个实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。
对本申请实施例进行进一步详细说明之前,对本申请实施例中涉及的名词和术语进行说明,本申请实施例中涉及的名词和术语适用于如下的解释。
移动终端应用界面:User Interface(UI),指用户与移动终端的交互界面,通常也可称为UI界面,移动终端应用界面通常在移动终端的屏幕上进行显示。
结构化语言,结构化语言指的是至少一节点组成的字符串,例如可以是但不限于可扩展标记语言XML(Extensible Markup Language)或JavaScript对象简谱JSON(JavaScript Object Notation)语言。
Native原生系统,原生系统是指没有经过修改,破解或者优化的,是操作系统最基层的也是最纯净的版本。主要是指各操作系统生产商最初建立的模型,例如苹果手机的iOS系统,安卓手机的Android系统。
Native原生应用,指基于本地操作系统的App开发服务。
文档对象模型(Document Object Model,DOM)树,DOM是一种处理HTML和XML文件的标准API。DOM提供了对整个文档的访问模型,将文档作为一个树形结构,树的每个结点表示了一个HTML标签或标签内的文本项。DOM树结构精确地描述了HTML文档中标签间的相互关联性。将HTML或XML文档转化为DOM树的过程称为解析(parse)。HTML文档被解析后,转化为DOM树,因此对HTML文档的处理可以通过对DOM树的操作实现。DOM模型不仅描述了文档的结构,还定义了结点对象的行为,利用对象的方法和属性,可以方便地访问、修改、添加和删除DOM树的结点和内容。
原生控件树,由原生控件组成,原生控件树可以包括与控件节点对应的原生控件,原生控件树可在原生层实现,原生层可通过原生控件树使用原生应用。
跨平台,跨平台产品指的是在多个平台上可用的软件产品,例如软件产品可分别在iOS系统或者Android系统上运行,又如软件产品可同时在全球广域网(World Wide Web,web)页面或者应用程序(Application,App)上运行。
随着网络技术和移动互联网的普及,移动终端应用的开发需求越来越大。目前开发者需要针对不同平台的移动终端独立开发移动终端应用,另外,如果开发者需要对移动终端应用的界面进行更新,通常需要引导用户更新移动终端应用的版本,例如安装最新版本的应用程序。而随着信息技术的发展,目前用户对于移动应用界面需求频繁变化,这样需要移动应用开发者频发更新并发布新版本的移动终端应用,由于新版本应用的发布需要通过提审、发布的流程,频繁更新移动应用版本会导致运营成本大大增加。
本地交互(RN,React Native),是Facebook于2015年4月开源的跨平台移动应用开发框架,可实现跨平台渲染。React Native在解析布局文件之后,使用yoga布局引擎生成dom树,然后不同平台使用各自的系统进行渲染,例如运行有iOS系统的终端设备使用iOS系统进行渲染,运行有Android系统的终端设备使用Android系统进行渲染,实现应用软件的跨平台设计。
React Native脱胎于React(一个简单的javascript UI库,用于构建高效、快速的用户界面),React Native它将数据与视图相隔离,ReactNative代码中的标签映射为虚拟节点,由原生平台解析虚拟节点并渲染出原生控件。其基本原理是,开发者使用React语法,同时开发原生应用和Web应用,其中组件渲染、动画效果、网络请求等都由原生平台来负责。
参见图1所示,为React Native的系统架构图,React Native架构包括JavaScript开发工具层、跨平台逻辑层、Bridge桥接层和Native原生层。
其中,JavaScript开发工具层与界面开发人员使用的开发工具相对应,开发人员通过编写及动态下发JavaScript文件以实现动态更新移动应用界面。跨平台逻辑层主要用于解释JavaScript文件(JS文件),并将其最终释义成各个不同平台各自能理解的内容,其中Javascript VM(JavaScript虚拟机)为解析JS文件的核心,yoga为解析布局逻辑的核心。Bridge桥接层用于使React Native实现与Native原生控件之间的交互,针对不同平台需要通过不同的桥接层代码(也称胶水代码)进行逻辑沟通,即使用JavaScriptCore解析JavaScript代码,实现双向通信。例如需要跨iOS系统平台和Android系统平台,Bridge桥接层需要配备有针对iOS系统的桥接层代码和Android系统的桥接层代码,即可以理解为Bridge桥接层包括针对iOS系统iOS桥接层和针对Android系统的Android桥接层。最后,原生层用于渲染并向用户呈现移动应用界面。ReactNative的效果显而易见,通过前端能力,实现了原生应用的跨平台,实现快速编译、快速发布移动应用界面。
例如,当开发工具层侦听到数据引擎更新数据后,开发工具层可基于数据引擎更新的数据,通过跨平台逻辑层在对象树中确定该更新的数据对应的对象节点,通过Bridge桥接层实现与Native原生层之间的数据交互,使Native原生层实现移动应用界面的更新。
跨平台逻辑层起到了衔接适配前端和原生平台作用,但跨平台逻辑层是基于JS虚拟机(Javascript VM)来实现的,例如yoga布局组件、ReactJS库、Javascript语法扩展模块JSX、HTTP管道接口Fetch、弹性布局Flex(Flexible Box)模块、JavaScript包管理工具NPM、节点连接Nodejs模块、全局数据状态管理工具Redux均需要在JS虚拟机运行,无论移动应用界面复杂还是简单,全局还是局部的UI的生成或更新,均需要加载JS虚拟机,加载性能不佳、耗时较长。另外,React Native与原生层的交互需要依赖Bridge桥接层,需要添加较多的桥接层代码(也称胶水代码),对现有框架的倾入性较大。因此,基于React Native进行的移动终端应用界面的配置方式用户体验不好。
基于此,本发明实施例提供了一种移动终端应用界面的配置方法、移动终端、配置装置及计算机可读存储介质,通过原生控件树中各个控件节点对应的原生控件实现移动终端应用界面的配置,由于移动终端应用界面能够独立于移动终端应用程序对其中的文档对象模型树以及原生控件树进行配置,因此能够在不发布新版本应用程序的前提下对移动终端应用界面进行配置,降低运营成本,另外,配置文件为结构化语言文件,由于结构化语言文件使用的是原生代码,因此移动终端应用无需加载虚拟机等其他的开发工具,也无需采用胶水代码进行桥接即可实现移动终端应用界面的配置。资源占用少,移动终端应用加载速度快,能提高用户的体验。
下面说明实现本发明实施例的移动终端的示例性应用,本发明实施例提供的移动终端可以实施为智能手机、平板电脑、笔记本电脑、智能穿戴设备等各种类型的用户终端。
参照图2所示,为本发明实施例提供的移动终端应用界面的配置系统100的一个可选的架构示意图,为实现支撑的一个示例性应用,其中包括移动终端110和服务器130,移动终端110通过网络120与服务器130通信连接,网络120可以是广域网或者局域网,又或者是二者的组合,使用无线链路实现数据传输。可以理解的是,在其他实施例中,即移动终端的数量可以不限于两个,图2中的移动终端仅用作示意性的说明。
其中,服务器130可以是移动电话、计算机、数字广播终端、信息收发设备、游戏控制台、平板设备、医疗设备、健身设备、个人数字助理等终端对应的后台服务器,例如可以为安装有相应客户端的终端对应的后台服务器,根据服务器130的结构,可以预见装置实施为终端时的示例性结构,因此这里所描述的结构不应视为限制,例如可以省略下文所描述的部分组件,或者,增设下文所未记载的组件以适应某些应用的特殊需求。服务器130还可以是区块链网络中的一个节点服务器。
其中,移动终端110安装有移动终端应用App(Application,应用程序),移动终端的用户可通过移动终端屏幕上显示的移动终端应用界面UI与App进行交互,例如通过触屏或操作按键进行交互,用户打开App后,App运行并在移动终端的屏幕上显示UI,移动终端应用可以准备有多个UI页面,而每个UI页面可以由多个UI元素组成。用户通过UI页面或UI页面上的UI元素与App进行交互。
App开发者对App的UI及UI上的交互逻辑(业务逻辑的一种)进行设计,移动终端用户通过在应用商城安装App后运行,可以在屏幕上显示App开发者所设计的UI。若App开发者对App上的UI进行修改,通常需要App开发者在应用商城发布新的App版本,以供用户下载安装,即App开发者可以通过应用商场作为中介,通过更新应用版本的方式对用户移动终端App上的UI进行更新。但这样UI的更新速度肯定是不及时的,一方面,需要提示用户主动安装新的App进行更新,是否更新决定权在用户,用户也可能忽视更新提示而一直不更新。另外,应用商城需要对开发者新上传的App进行审核,这也导致用户不能及时下载得到最新UI的App版本。如图2所示,本申请实施例的UI应用界面的配置系统,由移动终端110和服务器130构成,开发者在服务器130上传App应用界面的配置文件,该配置文件为结构化语言格式的,移动终端110通过网络120获取服务器130上移动终端应用界面的配置文件,通过对配置文件进行解析,根据解析结果生成文档对象模型树,将文档对象模型树与移动终端的原生控件进行关联得到原生控件树,通过原生控件树中各个控件节点对应的原生控件实现移动终端应用界面的配置,由于移动终端应用界面能够独立与移动终端应用程序对其中的文档对象模型树以及原生控件树进行配置,因此能够在不发布新版本应用程序的前提下对移动终端应用界面进行配置,从而跳过应用商城发布和用户下载的步骤,能够及时对App上的UI进行更新,由于网络通信的速度很快,开发者一旦在指定服务器上上传新的配置文件后,移动用户App上的UI很快就可以完成更新,这一过程给用户的感觉就是动态化更新的效果。另外,本申请实施例中配置文件为结构化语言文件,由于结构化语言文件使用的是原生代码,因此移动终端应用无需加载虚拟机等其他的开发工具,也无需采用胶水代码进行桥接即可实现移动终端应用界面的配置,因此资源占用少,移动终端应用加载速度快,能提高用户的操作体验。
参照图3,本发明实施例提供了一种移动终端应用界面的配置方法,以该配置方法应用于图2中的移动终端110为例进行说明,其中,该配置方法包括但不限于以下步骤301至步骤305。
步骤301:获取移动终端应用界面的配置参数,根据配置参数获取对应移动终端应用界面的结构化语言格式的配置文件。
其中,配置参数用于移动终端应用App判定是否需要对移动终端应用界面进行更新,包括对当前显示的移动应用界面或者当前未显示的移动应用界面进行更新。一实施例中,该配置参数并未包括移动终端应用界面的具体文件。配置参数可以仅仅是一串数字代码,例如可以采用序列号或版本号作为配置参数。
另外,一实施例中,配置参数可以一次性获取也可以分别被获取,例如当App启动后即获取所有移动终端应用界面的配置参数,再决定哪些移动终端应用界面需要更新并获取配置文件,又或者,当用户打开某一个移动终端应用界面时,在获取对应的配置参数,以决定当前显示的移动终端应用界面是否需要更新。若App是全新安装或者清除了移动终端应用界面的缓存,则可一次性对所有的移动终端应用界面进行更新。
配置参数的获取可以是完全自动的,例如可以在移动终端应用App启动后或用户点击或操作进入App中的某个移动终端应用界面后执行步骤301。一实施例中,配置参数是否自动获取也可以由用户进行设置的,例如可以在App的设置选项,设置让用户决定App是否自动获取配置参数的选项。一实施例中,也可以在获取到服务器的配置参数后,弹出选项让用户选择是否更新UI。另外,还可以设置有让用户退回旧版本UI的选项。
移动终端可以通过向服务器请求的方式获取配置参数,即通过内置于App中的指定服务器地址向服务器发送获取配置参数的请求,服务器收到该请求后,向移动终端反馈对应的配置参数,例如当前移动终端应用界面最新的版本号码。另一实施例中,也可以由服务器主动推送的方式发送配置参数,例如可以通过消息中间件的方式向移动终端发送配置参数,又或者,当开发者在服务器中上传最新的配置文件后,可向各个订阅了该更新的移动终端发送配置参数,告知移动终端服务器存在需要更新的配置文件,触发移动终端进行下载更新。
其中,配置文件为结构化语言格式,结构化语言指的是至少一节点组成的用于描述移动终端应用界面的字符串,配置文件可以是但不限于可扩展标记语言XML(ExtensibleMarkup Language)或JavaScript对象简谱JSON(JavaScript Object Notation)语言。上述结构化语言格式的配置文件具有跨平台的特性,能够被原生系统所识别,即原生系统能够识别结构化语言格式的文件,例如可以识别XML格式或JSON格式的文件。
配置文件由开发者预先采用结构化语言来描述移动应用界面所包含视图的属性信息、数据绑定协议以及移动应用界面中各个UI元素的层级结构信息,例如可以通过设定具体值(用于与原生系统之间参数的映射)或者在配置文件的各级结构中设置表达式(用于绑定原生系统中的原生控件),从而形成移动应用界面的页面视图描述文件,以供移动终端对其进行解析及配置移动终端应用的UI。其中,可以在配置文件中定义各种约定的对象节点和第一属性信息,例如,约定的对象节点可以为容器、文本或者图像中的一种或多种。对于容器节点的属性信息也可以用于描述该容器的各个子节点对应内容的排列方式,排列方式可以为横向排列或纵向排列,靠左、靠右、居中或两端对齐排列等。文本节点的属性信息可以用于描述组成该文本的字符串、字体大小或字体颜色等。图像节点的属性信息可以用于描述该图像的访问地址或显示方式等。访问地址可以为统一资源定位符(UniformResource Locator,URL)。显示方式可以包括缩放显示、缩放显示的缩放比例、原图显示、显示的亮度、显示的对比度或图像类型等,图像类型可以包括灰度图、黑白图或彩色图等。
步骤302:对配置文件进行解析,得到配置文件中的节点信息,节点信息包括至少一个对象节点之间的层级关系和至少一个对象节点中每个所述对象节点的第一属性信息。
其中,可以通过文本解析器对配置文件进行解析,解析的过程相当于对配置文件的内容进行理解,由于配置文件为结构化语言格式,因此文本解析器可以识别出配置文件的字符串中符合约定的结构格式,从而识别出配置文件中的节点信息,例如各个对象节点的层级关系和各个对象节点的第一属性信息。一实施例中,若配置文件的格式约定为XML格式,可通过XML文本解析器对XML格式的配置文件进行解析,将XML配置文件分解为所需的具体参数。对于JSON格式的配置文件也可以采用相同的原理进行操作。
步骤303:根据节点信息生成文档对象模型树。
通过对步骤302所解析得到的节点信息进行整合、管理,生成文档对象模型树(DOM树),DOM把配置文件视为一种树结构。文档对象模型树结构被称为节点树,可通过这棵树访问所有对象节点。可以修改或删除它们的内容,也可以创建新的元素,文档对象模型树展示了对象节点的集合,以及它们之间的联系。文档对象模型树从根节点开始,然后在树的最低层级向文本节点长出枝条。
文档对象模型树中的各个对象节点均具有第一属性信息,包括类目属性、界面布局属性和业务逻辑属性。其中,类目属性表示当前对象节点的业务类型,例如图像类型、文本类型等,可以通过业务类名Class Name进行表示,例如iOS平台上的图片使用UIImageView,一实施例中,可采用布局管理器Layout Manager对该参数进行管理。界面布局属性,表示当前对象节点的布局信息,可通过布局参数Layout params实现订制视图view的大小、形状和位置,一实施例中,可采用视图类管理器View Class Manager对该参数进行管理。业务逻辑属性用于订制视图view的逻辑属性,例如对象节点交互属性、操作行为等,一实施例中,可采用行为管理中心Action Center对该参数进行管理。
步骤304:将文档对象模型树中的各个对象节点与移动终端的原生控件进行关联,生成与文档对象模型树对应的原生控件树。
本步骤中,相当于将文档对象模型树映射到原生(native)层形成与文档对象模型树对应的原生控件树。其中,首先确定文档对象模型树中的各个对象节点,将各个对象节点映射至原生层,即将各个对象节点与原生层中对应的原生控件进行关联,例如通过直接映射或者绑定的方式实现关联,这样可以在原生层中生成原生控件树,原生控件树可以包括与对象节点对应的原生控件,进而原生层可以通过原生控件实现view实例化,渲染移动终端应用界面,以实现显示界面。
可以看出,原生控件树与对象控件树可以具有相同的树形结构。需要说明的是,针对同一App内的不同的移动终端应用界面,均可对应不同的原生控件树,例如首页对应有一个原生控件树,点击首页中的某个元素进入的子页面中对应另一个原生控件树。另外,移动终端屏幕中显示的整体视图中,也可以包括多个移动终端应用界面,例如屏幕中有多个区域,每个区域是一个移动终端应用界面,均可对应一个独立的原生控件树。
步骤305:根据原生控件树中各个控件节点对应的原生控件配置移动终端应用界面。
本步骤中,由于上述步骤304在原生层中生成了原生控件树,因此原生层可以通过原生控件进行实例化并配置移动终端应用界面。其中配置所述移动终端应用界面,可以是对移动终端应用界面的初始化,例如安装App后的首次运行,需要渲染出移动终端应用的初始化界面,即根据原生控件树中各个控件节点对应的原生控件更新移动终端应用界面。另外,也可以是对移动终端应用界面进行动态刷新,例如刷新App内的移动终端应用界面后,动态更新当前的移动终端应用界面。另外,也可以是预先更新App应用程序内缓冲的移动终端应用界面(并未在屏幕上显示,可理解为在后台)的UI布局及元素,待用户进入到该移动终端应用界面后,直接显示更新后的移动终端应用界面,即根据原生控件树中各个控件节点对应的原生控件更新移动终端应用界面。
本申请实施例中,移动终端通过对配置文件进行解析,根据解析结果生成文档对象模型树,将文档对象模型树与移动终端的原生控件进行关联得到原生控件树,通过原生控件树中各个控件节点对应的原生控件实现移动终端应用界面的配置,由于移动终端应用界面能够独立与移动终端应用程序对其中的文档对象模型树以及原生控件树进行配置,因此能够在不发布新版本应用程序的前提下对移动终端应用界面进行配置,从而跳过应用商城发布和用户下载的步骤,能够及时对App上的移动终端应用界面进行更新,由于网络通信的速度很快,开发者一旦在指定服务器上上传新的配置文件后,移动用户App上的移动终端应用界面很快就完成更新,这一过程给用户的感觉就是动态或实时更新的效果。另外,本申请实施例中配置文件为结构化语言文件,由于结构化语言文件使用的是原生代码,因此移动终端应用无需加载虚拟机等其他的开发工具,也无需采用胶水代码进行桥接即可实现移动终端应用界面的配置。资源占用少,代码侵入性较低,接入难度更低,移动终端应用加载速度快,能提高用户的操作体验。
本发明实施例提供的移动终端应用界面的配置方法,可以应用与各种类型的APP中,例如可以应用于社交软件、导航软件等。也可以应用于各种软件中的不同应用界面中,例如首页、消息或个人信息界面等。
在一个实施例中,上述步骤304中,所述对象节点与对应的原生控件进行映射。又或者,在另一个实施例中,上述步骤304中,所述对象节点与对应的原生控件进行绑定。
对于在结构化语言和原生控件中一致的参数,可以通过映射的方式进行传递,例如通过赋值的方式传递,例如在XML文件格式中,表示字体大小的值为24,这对应的原生控件的表示字体大小的值也是24,这属于通过映射的方式传递参数。对于在结构化语言和原生控件中不一致的参数,不能直接将数值进行传递,而是通过设置具体原生层能够理解的表达式结合移动终端应用后台来实现参数的传递,即参数的传递通过逻辑表达式运算的方式进行。
在一个实施例中,第一属性信息包括类目属性、界面布局属性和业务逻辑属性。参见图4所示,上述步骤304,具体包括以下步骤401至步骤404:
步骤401:遍历文档对象模型树中的各个对象节点,获取各个对象节点的第一属性信息。
其中,当配置文件被解析并形成对象模型树后,利用预设的解析器对对象模型树进行解析,首先依次遍历对象模型树上的每个对象节点。例如根据配置文件中的对象节点列表以及其上下级关联关系依次进行遍历,其中,对象节点中包含第一属性信息,其中第一属性信息包括类目属性、界面布局属性和业务逻辑属性,各种属性的具体作用上文已经解析,在此不再赘述。
步骤402:根据各个第一属性信息中的类目属性关联对应类型的原生控件,得到各个控件节点。
其中,不同类目属性的对象节点对应不同类型的原生控件,例如,对于业务类名Class Name为UIImageView的对象节点,其对应的原生控件为iOS平台的图片类控件。通过第一属性信息中的类目属性,能够确定对应类型的原生控件。
步骤403:根据各个第一属性信息中的界面布局属性和业务逻辑属性配置各个控件节点的第二属性信息。
由于上述步骤402中只是确定了控件节点的类型,因此还需要将对象节点的参数关联至对应的控件节点,本步骤中,将第一属性中的界面布局属性和业务逻辑属性配置至控件节点中,实现参数的传递。其中可以采用映射或绑定的方式实现。
对于在结构化语言和原生控件中一致的参数,可以通过映射的方式进行传递,例如通过赋值的方式传递,例如在xml文件格式中,表示字体大小的值为24,这对应的原生控件的表示字体大小的值也是24,这属于通过映射的方式传递参数。对于在结构化语言和原生控件中不一致的参数,不能直接将数值进行传递,而是通过设置具体原生层能够理解的表达式结合移动终端应用后台来实现参数的传递,即参数的传递通过逻辑表达式的方式进行。通过将第一属性信息的映射或绑定至原生控件上,实现对控件节点的第二属性信息进行配置。
步骤404:根据各个对象节点之间的层级关系建立各个控件节点之间的层级关系,生成原生控件树。
其中,由于遍历是基于对象节点列表以及其上下级关联关系依次进行的,因此能够根据各个对象节点之间的层级关系对应地建立各个控件节点之间的层级关系。实际上,一实施方式中,在依次遍历对象节点时,也同步建立对应的控件节点,即在依据对象节点的上下级关联关系进行遍历对象节点后,也依据该上下级关系同步建立控件节点树中控件节点之间的上下级关系。
在一个实施例中,参照图5所示,上述步骤301具体包括以下步骤501至步骤502:
步骤501:获取移动终端应用界面的配置参数。
步骤502:根据配置参数获取对应移动终端应用界面的可扩展标记语言XML格式的配置文件。本步骤中,所获取的配置文件具体是采用XML格式的。相应地,移动终端App上的文本解析器对应是XML解析器。
在一个实施例中,参照图6所示,上述步骤301具体包括以下步骤601至步骤602:
步骤601:获取移动终端应用界面的配置参数。
步骤602:根据配置参数获取对应移动终端应用界面的JavaScript对象简谱JSON格式的配置文件。本步骤中,所获取的配置文件具体是采用JSON格式的。移动终端App上的文本解析器对应是JSON解析器。
在一实施例中,参照图7所示,上述步骤301具体包括以下步骤701至步骤703:
步骤701:获取来自服务器的配置参数,配置参数包括对应移动终端应用界面的服务器版本信息。
其中,移动终端获取来自服务器的配置参数,该配置参数中携带有移动终端当前的移动终端应用界面的在服务器上最新的服务器版本信息。例如,移动终端所获取的配置参数版本为2.0,该2.0表示移动终端应用界面在服务器上的版本。
步骤702:获取移动终端应用界面的本地版本信息。
其中,移动终端获取本地App上移动终端应用界面的本地版本信息,例如,获取到本地App的移动终端应用的版本信息为1.0,该1.0即编号为移动终端应用界面的本地版本信息。
步骤703:将本地版本信息与服务器版本信息进行比较,若本地版本信息与服务器版本信息不一致,从服务器中下载移动终端应用界面对应的结构化语言格式的配置文件。
一般来说,服务器上的移动终端应用界面的版本信息会比本地版本信息要新,若本地版本信息与服务器版本信息不一致,表示本地版本的移动终端应用界面不是最新的,需要进行更新,进而从服务器中下载移动终端应用界面对应的结构化语言格式的配置文件。例如服务器版本信息为2.0,本地版本信息为1.0,由此可知,存储于服务器上的移动终端应用界面较本地的移动终端应用界面要新,因此需要从服务器中下载服务器版本信息为2.0的配置文件。若服务版本信息和本地版本信息均为1.0,则不需要下载配置文件。
本实施例中,移动终端通过服务器的配置参数对是否更新移动终端应用界面进行逻辑判断,避免重复更新移动终端应用界面造成资源浪费。
在一实施例中,参照图8所示,上述步骤701具体包括以下步骤801至步骤802:
步骤801:启动移动终端应用后,根据内置于移动终端应用的服务器地址信息,向服务器发送配置参数请求。
步骤802:获取来自服务器的配置参数。
本实施例中,当用户启动移动终端应用App后,App会自动执行移动终端应用界面的更新逻辑,以便用户能够及时使用最新的移动终端应用界面。其中,App会根据预留的服务器地址向服务器发送配置参数请求,该配置参数请求携带有移动终端的IP地址,当服务器收到该配置参数请求后,响应移动终端的配置参数请求反馈对应的配置参数,例如向移动终端发送最新版本信息。
一实施例中,参照图9所示,上述步骤703具体包括以下步骤:
步骤901:将本地版本信息与服务器版本信息进行比较。
例如,当前移动终端应用界面的本地版本信息为1.0,从服务器上获取的服务器版本信息为2.0。
步骤902:若本地版本信息与服务器版本信息不一致,则获取移动终端应用界面的页面标识。
例如,当前移动终端应用界面的本地版本和服务器版本不一致,则获取当前移动终端应用界面的页面标识,例如当前页面标识为001。
步骤903:根据页面标识和内置于移动终端应用的服务器地址信息,确定移动终端应用界面对应的配置文件下载链接。
本实施例中,不同页面所需下载的配置文件不同,因此不同页面对应的配置文件下载地址不同。其中可以根据约定的规则通过预留于App的服务器地址和标识得到配置文件的下载地址,例如,一实施例中,服务器地址为www.abcdexml.com,则可将页面标识作为服务器地址的根目录访问对应的配置文件,例如,www.abcdexml.com/download001为页面标识为001的配置文件的下载地址,当然,可以通过其他约定的方式确定不同页面的配置文件的下载链接,例如结合配置参数的服务器版本信息确定配置文件的下载链接。
步骤904:通过配置文件下载链接获取移动终端应用界面对应的结构化语言格式的配置文件。
本实施例中,能够根据不同的页面获取对应的配置文件,能有效缩减配置文件的体积,减少更新移动终端应用界面所占用的资源。
一实施例中,参照图10所示,上述步骤701具体包括以下步骤1001至1003:
步骤1001:获取移动终端应用的文本解析器版本。
步骤1002:根据内置于移动终端应用的服务器地址信息,向服务器发送配置参数请求,配置参数请求包括文本解析器版本。
步骤1003:获取来自服务器的配置参数,配置参数为服务器确定适配文本解析器版本的最新配置参数。
由于不同移动终端或者不同版本的App其支持的文本解析器可能不同,例如当前移动终端的App上的文本解析器是1.0版本的,而服务器上配置文件需要2.0版本的文本解析器才能解析(可能是用户未更新到最新的版本App或者当前移动终端并未支持最新版本的文本解析器),这样会使移动终端不能使用所下载的配置文件,甚至会导致移动终端一直请求下载配置文件以致资源占用严重。本实施例中,移动终端方通过告知服务器当前App的文本解析器版本,使服务器确定适配文本解析器版本的最新配置参数,以指示移动终端下载对应参数的配置文件,避免出现移动终端所接收的配置文件不能解析的情况。
参见图2所示,App的开发者对App中的移动终端应用界面(UI)进行了更新,只需根据更新后的UI生成对应的结构化语言格式的配置文件,即可让全网范围内的移动终端更新对应的UI,而无需通过App版本更新进行UI更新,大大提高了更新的速度,有效降低UI更新的运营成本。首先,App开发者将该配置文件存储于服务器130上。移动终端110启动对应的App后,通过网络120获取服务器130上的配置文件,并根据配置文件进行UI更新。其中,App开发者可约定所使用的结构化语言格式,例如采用XML格式或JSON格式。以下结合图11的配置装置的系统架构图和图12所示的流程图,对本申请实施例提供的配置装置的工作过程进行说明。
在一实施例中,参见图11所示,本发明实施例提供一种移动终端应用界面的配置装置,为移动终端应用界面的配置装置的系统架构图,其中包括文件加载层、文件解析层、对象模型树生成层和原生界面实例层,结合图12所示,其中:
文件加载层用于获取移动终端应用界面的配置参数,根据配置参数获取对应移动终端应用界面的配置文件。其中配置文件为结构化语言文件,根据约定可采用可扩展标记语言XML文件或JavaScript对象简谱JSON文件。
文件加载层用于与服务器进行通信获取更新UI配置文件,一实施例中,文件加载层包括文件加载器Xmlfileloadermanage,该文件加载器鉴别并加载布局所需的配置文件。文件加载器根据App内置或用户设置的更新逻辑下载配置文件,例如,一实施例中,文件加载器会在App打开后启动,通过内置的服务器地址向服务器发送配置参数请求,以告知服务器当前App处于在线状态,然后,文件加载器获取来自服务器反馈的配置参数。另一实施例中,也可以通过消息中间件的方式订阅服务器中配置文件的更新,即当App开发者在服务器中上传新的配置文件后,订阅了该更新主题的移动终端即可收到最新的配置参数。文件加载器接收到配置参数后会进行鉴别处理,以确定是否下载对应的配置文件,一实施例中,配置参数包括服务器上配置文件的服务器版信息,文件加载器通过与当前移动终端应用界面的本地版本信息进行对比,以确定当前的移动终端应用界面是否需要进行更新,若无需进行更新,则不相应该配置参数,若判断后需要进行更新,文件加载器则根据服务器地址和配置参数信息通过预设的规则确定配置文件的下载地址,并下载该配置文件。一实施例中,文件加载器在下载配置文件前会先判断App本地中是否已经存储有该配置文件,若存在,则从本地中加载该配置文件。一实施例中,文件加载器还用于实现断点重连和内存管理的功能,其中断点重连用于在网络环境不佳的情况下续接下载未成功的配置文件,内存管理是当移动终端内存不足时,暂缓下载配置文件,避免造成App卡顿影响用户的体验。文件加载器与配置文件的结构化语言格式相匹配,例如约定结构化语言格式为XML格式时,文件加载器则采用XML文件加载器XML Loader,同理,若使用约定结构化语言格式为JSON格式,则采用JSON文件加载器JSONLoader。
文件解析层用于对配置文件进行解析,将配置文件分解为所需的具体参数。其中文件解析层包括节点工厂NodeFactory,节点工厂为统一的解析管理类,在其中支持自定义文本解析器,另外,也可以采用现有的文本解析器,以便进行迁移及复用。节点工厂对文本解析器进行调用,对配置文件进行数据解析处理,其中文本解析器对配置文件进行解析并得到配置文件中的节点信息,节点信息包括至少一个对象节点之间的层级关系和至少一个对象节点中每个对象节点的第一属性信息,其中第一属性信息包括第一属性信息包括类目属性、界面布局属性和业务逻辑属性。通过文件解析层,实现对配置文件中的文本结构和属性的识别。文本解析器与配置文件的结构化语言格式相匹配,例如约定结构化语言格式为XML格式时,文本解析器则采用XML解析器XMLPlaster,同理,若使用约定结构化语言格式为JSON格式,则采用JSON解析器JSON Plaster。
对象模型树生成层用于根据节点信息生成文档对象模型树,其中,包括视图类管理器、布局管理器和行为管理中心。其中视图类管理器View Class Manage用于识别所述对象节点的类目属性,确定其对应的界面展示类;布局管理器Layout Manage用于识别所述对象节点的界面布局属性,解析并管理界面的布局;行为管理中心View Class Manager用于识别所述对象节点的业务逻辑属性,解析并管理界面的交互行为。
原生界面实例层用于将文档对象模型树中的各个对象节点与移动终端的原生控件进行关联,生成与文档对象模型树对应的原生控件树,并根据原生控件树中各个控件节点对应的原生控件配置移动终端应用界面。可以看出,原生控件树与对象控件树可以具有相同的树形结构。相当于将文档对象模型树映射到原生层形成与文档对象模型树对应的原生控件树。其中,首先确定文档对象模型树中的各个对象节点,将各个对象节点映射至原生层,即将各个对象节点与原生层中对应的原生控件进行关联,例如通过直接映射或者绑定的方式实现关联,这样可以在原生层中生成原生控件树,原生控件树可以包括与对象节点对应的原生控件,进而原生层可以通过原生控件实现原生控件的实例化,渲染移动终端应用界面,以实现显示界面。
通过获取移动终端应用界面的配置参数,并根据配置参数获取对应所述移动终端应用界面的结构化语言格式的配置文件,对配置文件进行解析,根据解析结果生成文档对象模型树,将文档对象模型树与移动终端的原生控件进行关联得到原生控件树,通过原生控件树中各个控件节点对应的原生控件实现移动终端应用界面的配置,由于移动终端应用界面能够独立与移动终端应用程序对其中的文档对象模型树以及原生控件树进行配置,因此能够在不发布新版本应用程序的前提下对移动终端应用界面进行配置,降低运营成本。另外,本申请实施例中配置文件为结构化语言文件,由于结构化语言文件使用的是原生代码,因此移动终端应用无需加载虚拟机等其他的开发工具,也无需采用胶水代码进行桥接即可实现移动终端应用界面的配置。资源占用少,移动终端应用加载速度快,能提高用户的体验。
参照图13所示,本发明实施例还提供了一种移动终端应用界面的配置装置,包括:
配置文件获取单元1301,用于获取移动终端应用界面的配置参数,根据所述配置参数获取对应所述移动终端应用界面的结构化语言格式的配置文件;
配置文件解析单元1302,用于对所述配置文件进行解析,得到所述配置文件中的节点信息,所述节点信息包括至少一个对象节点之间的层级关系和至少一个所述对象节点中每个所述对象节点的第一属性信息;
对象模型树生成单元1303,用于根据所述节点信息生成文档对象模型树;
原生控件树生成单元1304,用于将所述文档对象模型树中的各个所述对象节点与移动终端的原生控件进行关联,用于生成与所述文档对象模型树对应的原生控件树。
配置单元1305,用于根据所述原生控件树中各个控件节点对应的原生控件配置所述移动终端应用界面。
可选地,所述第一属性信息包括类目属性、界面布局属性和业务逻辑属性,所述原生控件树生成单元1304具体还用于:
遍历所述文档对象模型树中的各个所述对象节点,获取各个所述对象节点的第一属性信息;
根据各个所述第一属性信息中的类目属性关联对应类型的原生控件,得到各个控件节点;
根据各个所述第一属性信息中的所述界面布局属性和所述业务逻辑属性配置各个所述控件节点的第二属性信息;
根据各个所述对象节点之间的层级关系建立各个所述控件节点之间的层级关系,生成原生控件树。
可选地,所述原生控件树生成单元1304具体还用于:
将所述文档对象模型树中的各个所述对象节点与移动终端的原生控件进行映射,生成与所述文档对象模型树对应的原生控件树;
或者,将所述文档对象模型树中的各个所述对象节点与移动终端的原生控件进行绑定,生成与所述文档对象模型树对应的原生控件树。
可选地,所述配置文件获取单元1301还用于:
根据所述配置参数获取对应所述移动终端应用界面的JavaScript对象简谱JSON格式的配置文件。
可选地,所述配置文件获取单元1301还用于:
获取来自服务器的配置参数,所述配置参数包括对应所述移动终端应用界面的服务器版本信息;
获取移动终端应用界面的本地版本信息;
将所述本地版本信息与所述服务器版本信息进行比较,若所述本地版本信息与所述服务器版本信息不一致,从所述服务器中下载所述移动终端应用界面对应的结构化语言格式的配置文件。
可选地,所述配置文件获取单元1301还用于:
启动移动终端应用后,根据内置于所述移动终端应用的服务器地址信息,向所述服务器发送配置参数请求;
获取来自所述服务器的配置参数。
可选地,所述配置文件获取单元还用于:
获取所述移动终端应用界面的页面标识;
根据所述页面标识和内置于所述移动终端应用的服务器地址信息,确定所述移动终端应用界面对应的配置文件下载链接;
通过所述配置文件下载链接获取所述移动终端应用界面对应的结构化语言格式的配置文件。
可选地,所述配置文件获取单元1301还用于:
获取所述移动终端应用的文本解析器版本;
根据内置于所述移动终端应用的服务器地址信息,向所述服务器发送配置参数请求,所述配置参数请求包括所述文本解析器版本;
获取来自所述服务器的配置参数,所述配置参数为所述服务器确定适配所述文本解析器版本的最新配置参数。
可选地,所述配置单元1305还用于:
根据所述原生控件树中各个控件节点对应的原生控件更新所述移动终端应用界面;
或者,根据所述原生控件树中各个控件节点对应的原生控件渲染并生成所述移动终端应用界面。
另外,另外本发明实施例还提供了一种移动终端,下面结合附图对该移动终端进行介绍。请参见图14,本发明实施例提供了一种移动终端,该移动终端可以是终端装置,该终端装置可以为包括手机、平板电脑、个人数字助理(Personal Digital Assistant,简称PDA)、销售终端(Point of Sales,简称POS)、车载电脑等任意智能终端,以终端装置为手机为例:
图14示出的是与本发明实施例提供的手机的部分的结构框图。参考图14,手机包括:射频(Radio Frequency,简称RF)电路1410、存储器1420、输入单元1430、显示单元1440、传感器1450、音频电路1460、无线保真(wireless fidelity,简称Wi-Fi)模块1470、处理器1480,以及电源1490等部件。本领域技术人员可以理解,图14中示出的手机结构并不构成对手机的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
下面结合图14对手机的各个构成部件进行具体的介绍:
RF电路1410可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,给处理器1480处理;另外,将设计上行的数据发送给基站。通常,RF电路1410包括但不限于天线、至少一个放大器、收发信机、耦合器、低噪声放大器(Low NoiseAmplifier,简称LNA)、双工器等。此外,RF电路1410还可以通过无线通信与网络和其他装置通信。上述无线通信可以使用任一通信标准或协议,包括但不限于全球移动通讯系统(Global System of Mobile communication,简称GSM)、通用分组无线服务(GeneralPacket Radio Service,简称GPRS)、码分多址(Code Division Multiple Access,简称CDMA)、宽带码分多址(Wideband Code Division Multiple Access,简称WCDMA)、长期演进(Long Term Evolution,简称LTE)、电子邮件、短消息服务(Short Messaging Service,简称SMS)等。
存储器1420可用于存储软件程序以及模块,处理器1480通过运行存储在存储器1420的软件程序以及模块,从而执行手机的各种功能应用以及数据处理。存储器1420可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等);存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)。此外,存储器1420可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件或其他易失性固态存储器件。
输入单元1430可用于接收输入的数字或字符信息,以及产生与手机的用户设置以及功能控制有关的键信号输入。具体地,输入单元1430可包括触控面板1431以及其他输入装置1432。触控面板1431,也称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板1431上或在触控面板1431附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触控面板1431可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器1480,并能接收处理器1480发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类别实现触控面板1431。除了触控面板1431,输入单元1430还可以包括其他输入装置1432。具体地,其他输入装置1432可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
显示单元1440可用于显示由用户输入的信息或提供给用户的信息以及手机的各种菜单。显示单元1440可包括显示面板1441,可选的,可以采用液晶显示器(LiquidCrystal Display,简称LCD)、有机发光二极管(Organic Light-Emitting Diode,简称OLED)等形式来配置显示面板1441。进一步的,触控面板1431可覆盖显示面板1441,当触控面板1431检测到在其上或附近的触摸操作后,传送给处理器1480以确定触摸事件的类别,随后处理器1480根据触摸事件的类别在显示面板1441上提供相应的视觉输出。虽然在图14中,触控面板1431与显示面板1441是作为两个独立的部件来实现手机的输入和输入功能,但是在某些实施例中,可以将触控面板1431与显示面板1441集成而实现手机的输入和输出功能。
手机还可包括至少一种传感器1450,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板1441的亮度,接近传感器可在手机移动到耳边时,关闭显示面板1441和/或背光。作为运动传感器的一种,加速计传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别手机姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于手机还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
音频电路1460、扬声器1461,传声器1462可提供用户与手机之间的音频接口。音频电路1460可将接收到的音频数据转换后的电信号,传输到扬声器1461,由扬声器1461转换为声音信号输出;另一方面,传声器1462将收集的声音信号转换为电信号,由音频电路1460接收后转换为音频数据,再将音频数据输出处理器1480处理后,经RF电路1410以发送给比如另一手机,或者将音频数据输出至存储器1420以便进一步处理。
Wi-Fi属于短距离无线传输技术,手机通过Wi-Fi模块1470可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图14示出了Wi-Fi模块1470,但是可以理解的是,其并不属于手机的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。
处理器1480是手机的控制中心,利用各种接口和线路连接整个手机的各个部分,通过运行或执行存储在存储器1420内的软件程序和/或模块,以及调用存储在存储器1420内的数据,执行手机的各种功能和处理数据,从而对手机进行整体监控。可选的,处理器1480可包括一个或多个处理单元;优选的,处理器1480可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器1480中。
手机还包括给各个部件供电的电源1490(比如电池),优选的,电源可以通过电源管理系统与处理器1480逻辑相连,从而通过电源管理系统实现管理充电、放电,以及功耗管理等功能。
尽管未示出,手机还可以包括摄像头、蓝牙模块等,在此不再赘述。
在本实施例中,该移动终端所包括的处理器1480具备执行前面实施例的移动终端应用界面的配置方法。
本发明实施例还提供一种计算机可读存储介质,计算机可读存储介质用于存储程序代码,程序代码用于执行前述各个实施例的移动终端应用界面的配置方法。
本发明实施例还公开了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存介质中。计算机设备的处理器可以从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行前述各个实施例的执行移动终端应用界面的配置方法。
本申请的说明书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或装置不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或装置固有的其他步骤或单元。
应当理解,在本申请中,“至少一个(项)”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:只存在A,只存在B以及同时存在A和B三种情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b或c中的至少一项(个),可以表示:a,b,c,“a和b”,“a和c”,“b和c”,或“a和b和c”,其中a,b,c可以是单个,也可以是多个。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其他的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其他的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机装置(可以是个人计算机,服务器,或者网络装置等)执行本申请各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(Random Access Memory,简称RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
还应了解,本发明实施例提供的各种实施方式可以任意进行组合,以实现不同的技术效果。
以上是对本发明的较佳实施进行了具体说明,但本发明并不局限于上述实施方式,熟悉本领域的技术人员在不违背本发明精神的共享条件下还可作出种种等同的变形或替换,这些等同的变形或替换均包括在本发明权利要求所限定的范围内。
Claims (14)
1.一种移动终端应用界面的配置方法,其特征在于,包括以下步骤:
获取移动终端应用界面的配置参数,根据所述配置参数获取对应所述移动终端应用界面的结构化语言格式的配置文件;
对所述配置文件进行解析,得到所述配置文件中的节点信息,所述节点信息包括至少一个对象节点之间的层级关系和至少一个所述对象节点中每个所述对象节点的第一属性信息,所述第一属性信息包括类目属性、界面布局属性和业务逻辑属性;
根据所述节点信息生成文档对象模型树;
将所述文档对象模型树中的各个所述对象节点与移动终端的原生控件进行关联,生成与所述文档对象模型树对应的原生控件树,其中,遍历所述文档对象模型树中的各个所述对象节点,获取各个所述对象节点的所述第一属性信息,根据各个所述第一属性信息中的所述类目属性关联对应类型的原生控件,得到各个控件节点,根据各个所述第一属性信息中的所述界面布局属性和所述业务逻辑属性配置各个所述控件节点的第二属性信息,根据各个所述对象节点之间的层级关系建立各个所述控件节点之间的层级关系,生成所述原生控件树;
根据所述原生控件树中各个所述控件节点对应的所述原生控件配置所述移动终端应用界面。
2.根据权利要求1所述的一种移动终端应用界面的配置方法,其特征在于,所述对象节点与移动终端的原生控件进行关联,包括以下至少之一:
所述对象节点与对应的原生控件进行映射;
或者,所述对象节点与对应的原生控件进行绑定。
3.根据权利要求1至2任意一项所述的一种移动终端应用界面的配置方法,其特征在于:所述根据所述配置参数获取对应所述移动终端应用界面的结构化语言格式的配置文件,包括以下至少之一:
根据所述配置参数获取对应所述移动终端应用界面的可扩展标记语言XML格式的配置文件;
或者,根据所述配置参数获取对应所述移动终端应用界面的JavaScript对象简谱JSON格式的配置文件。
4.根据权利要求1所述的一种移动终端应用界面的配置方法,其特征在于:所述获取移动终端应用界面的配置参数,根据所述配置参数获取对应所述移动终端应用界面的结构化语言格式的配置文件,包括:
获取来自服务器的配置参数,所述配置参数包括对应所述移动终端应用界面的服务器版本信息;
获取移动终端应用界面的本地版本信息;
将所述本地版本信息与所述服务器版本信息进行比较,若所述本地版本信息与所述服务器版本信息不一致,从所述服务器中下载所述移动终端应用界面对应的结构化语言格式的配置文件。
5.根据权利要求4所述的一种移动终端应用界面的配置方法,其特征在于:所述获取来自服务器的配置参数,包括:
启动移动终端应用后,根据内置于所述移动终端应用的服务器地址信息,向所述服务器发送配置参数请求;
获取来自所述服务器的配置参数。
6.根据权利要求4所述的一种移动终端应用界面的配置方法,其特征在于:所述从所述服务器中下载所述移动终端应用界面对应的结构化语言格式的配置文件,包括:
获取所述移动终端应用界面的页面标识;
根据所述页面标识和内置于所述移动终端应用的服务器地址信息,确定所述移动终端应用界面对应的配置文件下载链接;
通过所述配置文件下载链接获取所述移动终端应用界面对应的结构化语言格式的配置文件。
7.根据权利要求4所述的一种移动终端应用界面的配置方法,其特征在于,
所述获取来自服务器的配置参数,包括:
获取所述移动终端应用的文本解析器版本;
根据内置于所述移动终端应用的服务器地址信息,向所述服务器发送配置参数请求,所述配置参数请求包括所述文本解析器版本;
获取来自所述服务器的配置参数,所述配置参数为所述服务器确定适配所述文本解析器版本的最新配置参数。
8.根据权利要求1所述的一种移动终端应用界面的配置方法,其特征在于,所述根据所述原生控件树中各个控件节点对应的原生控件配置所述移动终端应用界面,包括以下之一:
根据所述原生控件树中各个控件节点对应的原生控件更新所述移动终端应用界面;
或者,根据所述原生控件树中各个控件节点对应的原生控件渲染并生成所述移动终端应用界面。
9.一种移动终端应用界面的配置装置,其特征在于,包括:
配置文件获取单元,用于获取移动终端应用界面的配置参数,根据所述配置参数获取对应所述移动终端应用界面的结构化语言格式的配置文件;
配置文件解析单元,用于对所述配置文件进行解析,得到所述配置文件中的节点信息,所述节点信息包括至少一个对象节点之间的层级关系和至少一个所述对象节点中每个所述对象节点的第一属性信息,所述第一属性信息包括类目属性、界面布局属性和业务逻辑属性;
对象模型树生成单元,用于根据所述节点信息生成文档对象模型树;
原生控件树生成单元,用于将所述文档对象模型树中的各个所述对象节点与移动终端的原生控件进行关联,用于生成与所述文档对象模型树对应的原生控件树,其中,遍历所述文档对象模型树中的各个所述对象节点,获取各个所述对象节点的所述第一属性信息,根据各个所述第一属性信息中的所述类目属性关联对应类型的原生控件,得到各个控件节点,根据各个所述第一属性信息中的所述界面布局属性和所述业务逻辑属性配置各个所述控件节点的第二属性信息,根据各个所述对象节点之间的层级关系建立各个所述控件节点之间的层级关系,生成所述原生控件树;
配置单元,用于根据所述原生控件树中各个所述控件节点对应的所述原生控件配置所述移动终端应用界面。
10.一种移动终端应用界面的配置装置,其特征在于,包括:
文件加载层,用于获取移动终端应用界面的配置参数,根据所述配置参数获取对应所述移动终端应用界面的配置文件,所述配置文件为结构化语言文件;
文件解析层,用于对所述配置文件进行解析,得到所述配置文件中的节点信息,所述节点信息包括至少一个对象节点之间的层级关系和至少一个所述对象节点中每个所述对象节点的第一属性信息,所述第一属性信息包括类目属性、界面布局属性和业务逻辑属性;
对象模型树生成层,用于根据所述节点信息生成文档对象模型树;
原生界面实例层,用于将所述文档对象模型树中的各个所述对象节点与移动终端的原生控件进行关联,生成与所述文档对象模型树对应的原生控件树,其中,遍历所述文档对象模型树中的各个所述对象节点,获取各个所述对象节点的所述第一属性信息,根据各个所述第一属性信息中的所述类目属性关联对应类型的原生控件,得到各个控件节点,根据各个所述第一属性信息中的所述界面布局属性和所述业务逻辑属性配置各个所述控件节点的第二属性信息,根据各个所述对象节点之间的层级关系建立各个所述控件节点之间的层级关系,生成所述原生控件树;并根据所述原生控件树中各个所述控件节点对应的所述原生控件配置所述移动终端应用界面。
11.根据权利要求10所述的一种移动终端应用界面的配置装置,其特征在于,所述结构化语言文件为可扩展标记语言XML文件或JavaScript对象简谱JSON文件。
12.根据权利要求10所述的一种移动终端应用界面的配置装置,其特征在于,所述配置装置还包括:
视图类管理器,用于识别所述对象节点的类目属性,确定其对应的界面展示类;
布局管理器,用于识别所述对象节点的界面布局属性,解析并管理界面的布局;
行为管理中心,用于识别所述对象节点的业务逻辑属性,解析并管理界面的交互行为。
13.一种移动终端,其特征在于,包括:
至少一个处理器;
至少一个存储器,用于存储至少一个程序;
当至少一个所述程序被至少一个所述处理器执行时实现如权利要求1至8任意一项所述的移动终端应用界面的配置方法。
14.一种计算机可读存储介质,其特征在于:其中存储有处理器可执行的程序,所述处理器可执行的程序被处理器执行时用于实现如权利要求1至8任意一项所述的移动终端应用界面的配置方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110312940.4A CN112882772B (zh) | 2021-03-24 | 2021-03-24 | 移动终端应用界面的配置方法、移动终端及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110312940.4A CN112882772B (zh) | 2021-03-24 | 2021-03-24 | 移动终端应用界面的配置方法、移动终端及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112882772A CN112882772A (zh) | 2021-06-01 |
CN112882772B true CN112882772B (zh) | 2022-04-22 |
Family
ID=76042049
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110312940.4A Active CN112882772B (zh) | 2021-03-24 | 2021-03-24 | 移动终端应用界面的配置方法、移动终端及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112882772B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113747474B (zh) * | 2021-09-08 | 2024-02-20 | 北京顶象技术有限公司 | 一种基于网络感知的前端用户界面系统和装置 |
CN114398123A (zh) * | 2021-12-29 | 2022-04-26 | 深圳市英维克信息技术有限公司 | 人机界面生成方法、装置、设备和存储介质 |
CN115686515B (zh) * | 2022-10-31 | 2023-07-25 | 广东云徙智能科技有限公司 | 参数可视化配置界面生成方法、装置、介质和电子设备 |
CN115658065A (zh) * | 2022-12-13 | 2023-01-31 | 西安葡萄城软件有限公司 | 前端ui框架构建方法及装置 |
CN116112725A (zh) * | 2022-12-29 | 2023-05-12 | 易视腾科技股份有限公司 | 一种互联网电视用户界面多风格切换的方法及装置 |
CN116208661B (zh) * | 2023-02-22 | 2024-06-25 | 重庆长安汽车股份有限公司 | 功能配置适配方法、装置、车辆及存储介质 |
CN118377530A (zh) * | 2024-06-21 | 2024-07-23 | 陕西天行健车联网信息技术有限公司 | 一种终端应用功能的配置方法、设备及介质 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9361635B2 (en) * | 2014-04-14 | 2016-06-07 | Yahoo! Inc. | Frequent markup techniques for use in native advertisement placement |
US10447759B2 (en) * | 2016-05-27 | 2019-10-15 | Microsoft Technology Licensing, Llc | Web page accelerations for web application hosted in native mobile application |
US10838699B2 (en) * | 2017-01-18 | 2020-11-17 | Oracle International Corporation | Generating data mappings for user interface screens and screen components for an application |
CN108279932B (zh) * | 2018-01-22 | 2021-05-25 | 北京奇艺世纪科技有限公司 | 一种移动终端动态配置用户界面方法和装置 |
CN108415702B (zh) * | 2018-01-22 | 2021-05-25 | 北京奇艺世纪科技有限公司 | 一种移动终端应用界面动态渲染方法和装置 |
CN108804177A (zh) * | 2018-05-23 | 2018-11-13 | 北京五八信息技术有限公司 | 更新界面视图的方法、装置、计算机设备及存储介质 |
CN108829485B (zh) * | 2018-06-25 | 2021-03-02 | 腾讯科技(深圳)有限公司 | 应用界面布局的更新方法、装置、存储介质及计算机设备 |
-
2021
- 2021-03-24 CN CN202110312940.4A patent/CN112882772B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN112882772A (zh) | 2021-06-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112882772B (zh) | 移动终端应用界面的配置方法、移动终端及存储介质 | |
CN106970790B (zh) | 一种应用程序创建的方法、相关设备及系统 | |
CN109857403B (zh) | 一种页面更新、页面处理方法及装置 | |
CN108536594B (zh) | 页面测试方法、装置及存储设备 | |
CN107741844B (zh) | 一种应用安装包的生成方法和装置 | |
CN111178012A (zh) | 一种表单渲染方法、装置、设备及存储介质 | |
CN107102904B (zh) | 基于混合应用程序的交互方法及装置 | |
CN110399583B (zh) | 页面显示方法、装置、电子设备以及存储介质 | |
CN108287918B (zh) | 基于应用页面的音乐播放方法、装置、存储介质和电子设备 | |
CN109947650B (zh) | 脚本步骤处理方法、装置和系统 | |
CN109800030B (zh) | 一种应用程序运行方法、装置及终端 | |
CN110035181B (zh) | 一种快应用卡片主题设置方法及终端 | |
CN107666406B (zh) | 智能卡片显示方法及装置 | |
CN108270870B (zh) | 一种提示信息推送方法及装置 | |
CN106095456A (zh) | 引导用户下载应用程序的方法、装置及移动终端 | |
CN111931102A (zh) | 一种构建页面的方法、装置及系统 | |
CN108073647B (zh) | 网页显示方法及装置 | |
CN106919458B (zh) | Hook目标内核函数的方法及装置 | |
CN113613064B (zh) | 视频处理方法、装置、存储介质及终端 | |
CN113377469A (zh) | 移动应用的业务界面显示方法、装置、终端及存储介质 | |
CN105955739A (zh) | 一种图形界面的处理方法、装置和系统 | |
CN111723002A (zh) | 一种代码调试方法、装置、电子设备及存储介质 | |
CN105095161B (zh) | 一种显示富文本信息的方法及装置 | |
CN106168901A (zh) | 应用程序字体自定义方法和控制方法及相应装置 | |
CN113313804A (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: 40045490 Country of ref document: HK |
|
GR01 | Patent grant | ||
GR01 | Patent grant |