CN106325846A - 添加应用程序的功能模块的方法和装置 - Google Patents
添加应用程序的功能模块的方法和装置 Download PDFInfo
- Publication number
- CN106325846A CN106325846A CN201510388730.8A CN201510388730A CN106325846A CN 106325846 A CN106325846 A CN 106325846A CN 201510388730 A CN201510388730 A CN 201510388730A CN 106325846 A CN106325846 A CN 106325846A
- Authority
- CN
- China
- Prior art keywords
- functional module
- application program
- json
- configuration file
- module
- 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.)
- Granted
Links
Abstract
本发明提供一种添加应用程序的功能模块的方法和装置,能够实现应用程序的横向扩展,无需整体升级应用程序即可新增应用程序模块,方便了用户的使用。该装置包括:第一获取单元,用于获取服务端的XML模板和JSON配置文件,所述XML模板中包含功能模块在应用程序的界面中的呈现方式的配置信息,所述JSON配置文件用于配置所述功能模块的逻辑属性;第二获取单元,用于根据所述JSON配置文件的内容获取服务端的所述功能模块的配置数据,该配置数据包括所述功能模块样式参数和功能模块初始化参数;模块添加单元,用于根据所述XML模板的内容和该配置数据初始化所述功能模块并在所述应用程序的界面呈现所述功能模块。
Description
技术领域
本发明涉及计算机技术领域,特别地涉及一种添加应用程序的功能模块的方法和装置。
背景技术
在移动应用程序领域,Android和iOS等移动平台互不兼容,各有自己的编程方式。移动应用程序通常有两种技术实现方案:一种是用传统web编程的html语言等编写hybrid应用程序,另一种是用各移动平台独有的编程语言和技术实现原生(native)应用程序。hybrid应用程序实际上访问的是网页,占用带宽资源比较大,无法充分利用各平台客户端特性。对于原生应用程序,有比较丰富的功能和较高的用户体验,但由于Android和iOS等移动平台互不兼容,需要新增功能模块时需要专门对应用程序进行整体升级才能完成,对用户来说不太方便。
发明内容
有鉴于此,本发明提供一种添加应用程序的功能模块的方法和装置,能够实现应用程序的横向扩展,无需整体升级应用程序即可新增应用程序模块,方便了用户的使用。
为实现上述目的,根据本发明的一个方面,提供了一种添加应用程序的功能模块的方法。
本发明的添加应用程序的功能模块的方法包括:获取服务端的可扩展标记语言(XML)模板和JavaScript对象表示法(JSON)配置文件,所述XML模板中包含功能模块在应用程序的界面中的呈现方式的配置信息,所述JSON配置文件用于配置所述功能模块的逻辑属性;根据所述JSON配置文件的内容获取服务端的所述功能模块的配置数据,该配置数据包括所述功能模块样式参数和功能模块初始化参数,然后根据所述XML模板的内容和该配置数据初始化所述功能模块并在所述应用程序的界面呈现所述功能模块。
可选地,所述XML模板中包含多个功能模块的所述配置信息;所述JSON配置文件为多个。
可选地,获取服务端的XML模板和JSON配置文件之前,还包括:在应用程序收到用于呈现智能家居控制界面的外部操作的情况下,触发所述获取。
可选地,所述应用程序包含多个功能模块,每个功能模块分别用于控制一种智能家居设备。
根据本发明的另一方面,提供了一种添加应用程序的功能模块的装置。
本发明的添加应用程序的功能模块的装置包括:第一获取单元,用于获取服务端的可扩展标记语言(XML)模板和JavaScript对象表示法(JSON)配置文件,所述XML模板中包含功能模块在应用程序的界面中的呈现方式的配置信息,所述JSON配置文件用于配置所述功能模块的逻辑属性;第二获取单元,用于根据所述JSON配置文件的内容获取服务端的所述功能模块的配置数据,该配置数据包括所述功能模块样式参数和功能模块初始化参数;模块添加单元,用于根据所述XML模板的内容和该配置数据初始化所述功能模块并在所述应用程序的界面呈现所述功能模块。
可选地,所述XML模板中包含多个功能模块的所述配置信息;所述JSON配置文件为多个。
可选地,所述第一获取单元还用于在应用程序收到用于呈现智能家居控制界面的外部操作的情况下,进行所述获取。
可选地,所述应用程序包含多个功能模块,每个功能模块分别用于控制一种智能家居设备。
根据本发明的技术方案,实现了通过模板语言配置应用程序新增的界面和功能,具体是在服务端保存XML模板和JSON配置文件,XML模板中包含功能模块在应用程序的界面中的呈现方式的配置信息,JSON配置文件用于配置所述功能模块的逻辑属性,在需要升级应用程序时,获取上述XML模板和JSON配置文件以实现对应用程序增加的功能模块的界面解析和逻辑解析,显示应用程序新增的功能模块并实现其运行逻辑,从而实现应用程序的横向扩展,无需整体升级应用程序即可新增应用程序模块。
附图说明
附图用于更好地理解本发明,不构成对本发明的不当限定。其中:
图1是根据本发明实施方式的添加应用程序的功能模块的装置的基本组成部分的示意图。
具体实施方式
以下结合附图对本发明的示范性实施例做出说明,其中包括本发明实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本发明的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
在本发明的实施方式中,在原生的移动应用程序中添加用于程序升级的模块,该模块可以为应用程序增加功能模块。在添加时,首先获取服务端的可扩展标记语言(XML)模板和JavaScript对象表示法(JSON)配置文件。XML模板中包含功能模块在应用程序的界面中的呈现方式的配置信息,JSON配置文件用于配置上述功能模块的逻辑属性。
上述的XML模板示例如下:
上述的JSON配置文件示例如下:
以下对于上述的XML模板做出说明。XML模板里面每一个control节点就是一个控件,即一个功能模块。XML模板中也可包含多个控件的配置信息。每个控件的6个属性决定了这个控件在界面中的呈现方式,主要是大小和位置,具体如下:
1、horizontalalign:若不设置,默认左对齐,右对齐时left为距离右边;2、verticalalign:若不设置,默认顶对齐,底对齐时top为距离下边;
3、left、top:若不设置,默认为0;
4、width、height:若不设置,默认当前容器最大值;
5、left、top、width、height:均可以设置绝对值和百分比,百分比为0到1之间的小数;
6、width、height:可以设置负数,表示相对于另外一边的比例,-1则为1:1;
7、left:负数表示相对于width的比值,top负数表示相对于height的比值;
8、width、height:设置为0则控件不显示。
以下再对上述的JSON配置文件做出说明。在上面示例中,控件id为c00101,JSON配置文件配置这个控件的逻辑属性,可包括控件内部的界面样式和事件处理方式,以及与应用程序的交互方式、模块初始化参数等。当控件的typeid标记为CCContent时,用于程序升级的模块获取服务端的数据然后按照XML模板中配置的呈现方式来呈现,并可按上述初始化参数进行初始化。
本发明的这种应用程序的升级方式可以应用于许多原生的移动应用程序中。一个典型应用场景是智能家居设备的控制程序。在这种应用程序中,可以包含对一种或多种智能家居设备的控制功能,各个家居设备的控制操作界面也不尽相同。当用户使用该应用程序,进入某一家居设备的控制操作界面时,应用程序触发上述的用于程序升级的模块,以增加对该家居设备的控制操作功能。
图1是根据本发明实施方式的添加应用程序的功能模块的装置的基本组成部分的示意图。该装置是上述的应用程序的一个模块,用来对该应用程序进行升级。如图1所示,添加应用程序的功能模块的装置10主要包括第一获取单元11、第二获取单元12、以及模块添加单元13。
第一获取单元11用于获取服务端的可扩展标记语言(XML)模板和JavaScript对象表示法(JSON)配置文件,所述XML模板中包含功能模块在应用程序的界面中的呈现方式的配置信息,所述JSON配置文件用于配置所述功能模块的逻辑属性;第二获取单元12用于根据所述JSON配置文件的内容获取服务端的所述功能模块的配置数据,该配置数据包括所述功能模块样式参数和功能模块初始化参数;模块添加单元13用于根据所述XML模板的内容和该配置数据初始化所述功能模块并在所述应用程序的界面呈现所述功能模块。第一获取单元11还可用于在应用程序收到用于呈现智能家居控制界面的外部操作的情况下,进行所述获取。
根据本发明实施方式,实现了通过模板语言配置应用程序新增的界面和功能,具体是在服务端保存XML模板和JSON配置文件,XML模板中包含功能模块在应用程序的界面中的呈现方式的配置信息,JSON配置文件用于配置所述功能模块的逻辑属性,在需要升级应用程序时,获取上述XML模板和JSON配置文件以实现对应用程序增加的功能模块的界面解析和逻辑解析,显示应用程序新增的功能模块并实现其运行逻辑,从而实现应用程序的横向扩展,无需整体升级应用程序即可新增应用程序模块。
以上结合具体实施例描述了本发明的基本原理,在本发明的装置和方法中,显然,各部件或各步骤是可以分解和/或重新组合的。这些分解和/或重新组合应视为本发明的等效方案。并且,执行上述系列处理的步骤可以自然地按照说明的顺序按时间顺序执行,但是并不需要一定按照时间顺序执行。某些步骤可以并行或彼此独立地执行。
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,取决于设计要求和其他因素,可以发生各种各样的修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。
Claims (8)
1.一种添加应用程序的功能模块的方法,其特征在于,包括:
获取服务端的可扩展标记语言(XML)模板和JavaScript对象表示法(JSON)配置文件,所述XML模板中包含功能模块在应用程序的界面中的呈现方式的配置信息,所述JSON配置文件用于配置所述功能模块的逻辑属性;
根据所述JSON配置文件的内容获取服务端的所述功能模块的配置数据,该配置数据包括所述功能模块样式参数和功能模块初始化参数,然后根据所述XML模板的内容和该配置数据初始化所述功能模块并在所述应用程序的界面呈现所述功能模块。
2.根据权利要求1所述的方法,其特征在于,所述XML模板中包含多个功能模块的所述配置信息;所述JSON配置文件为多个。
3.根据权利要求1所述的方法,其特征在于,获取服务端的XML模板和JSON配置文件之前,还包括:在应用程序收到用于呈现智能家居控制界面的外部操作的情况下,触发所述获取。
4.根据权利要求1、2或3所述的方法,其特征在于,所述应用程序包含多个功能模块,每个功能模块分别用于控制一种智能家居设备。
5.一种添加应用程序的功能模块的装置,其特征在于,包括:
第一获取单元,用于获取服务端的可扩展标记语言(XML)模板和JavaScript对象表示法(JSON)配置文件,所述XML模板中包含功能模块在应用程序的界面中的呈现方式的配置信息,所述JSON配置文件用于配置所述功能模块的逻辑属性;
第二获取单元,用于根据所述JSON配置文件的内容获取服务端的所述功能模块的配置数据,该配置数据包括所述功能模块样式参数和功能模块初始化参数;
模块添加单元,用于根据所述XML模板的内容和该配置数据初始化所述功能模块并在所述应用程序的界面呈现所述功能模块。
6.根据权利要求5所述的装置,其特征在于,所述XML模板中包含多个功能模块的所述配置信息;所述JSON配置文件为多个。
7.根据权利要求5所述的装置,其特征在于,所述第一获取单元还用于在应用程序收到用于呈现智能家居控制界面的外部操作的情况下,进行所述获取。
8.根据权利要求5、6或7所述的装置,其特征在于,所述应用程序包含多个功能模块,每个功能模块分别用于控制一种智能家居设备。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510388730.8A CN106325846B (zh) | 2015-07-01 | 2015-07-01 | 添加应用程序的功能模块的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510388730.8A CN106325846B (zh) | 2015-07-01 | 2015-07-01 | 添加应用程序的功能模块的方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106325846A true CN106325846A (zh) | 2017-01-11 |
CN106325846B CN106325846B (zh) | 2021-04-30 |
Family
ID=57727080
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510388730.8A Active CN106325846B (zh) | 2015-07-01 | 2015-07-01 | 添加应用程序的功能模块的方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106325846B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1614557A (zh) * | 2003-11-04 | 2005-05-11 | 西门子公司 | 用于动态生成用户界面的方法和系统 |
US20080127217A1 (en) * | 2006-09-05 | 2008-05-29 | Oracle International Corporation | Mechanism for Developing AJax Applications Using Java Swing Framework and Method for Using the Same |
CN101895431A (zh) * | 2010-08-20 | 2010-11-24 | 烽火通信科技股份有限公司 | 一种基于RIA的高性能Web传输网管系统及实现方法 |
CN102495734A (zh) * | 2011-12-12 | 2012-06-13 | 方正国际软件有限公司 | 可继承工具栏体系及其实现方法 |
CN102811187A (zh) * | 2012-08-01 | 2012-12-05 | 陈为人 | 一种基于Web网站的家庭网关系统及其设置方法 |
CN103823676A (zh) * | 2014-02-14 | 2014-05-28 | 珠海市君天电子科技有限公司 | 显示控制方法、装置和客户端 |
-
2015
- 2015-07-01 CN CN201510388730.8A patent/CN106325846B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1614557A (zh) * | 2003-11-04 | 2005-05-11 | 西门子公司 | 用于动态生成用户界面的方法和系统 |
US20080127217A1 (en) * | 2006-09-05 | 2008-05-29 | Oracle International Corporation | Mechanism for Developing AJax Applications Using Java Swing Framework and Method for Using the Same |
CN101895431A (zh) * | 2010-08-20 | 2010-11-24 | 烽火通信科技股份有限公司 | 一种基于RIA的高性能Web传输网管系统及实现方法 |
CN102495734A (zh) * | 2011-12-12 | 2012-06-13 | 方正国际软件有限公司 | 可继承工具栏体系及其实现方法 |
CN102811187A (zh) * | 2012-08-01 | 2012-12-05 | 陈为人 | 一种基于Web网站的家庭网关系统及其设置方法 |
CN103823676A (zh) * | 2014-02-14 | 2014-05-28 | 珠海市君天电子科技有限公司 | 显示控制方法、装置和客户端 |
Non-Patent Citations (1)
Title |
---|
HTTPS://WWW.JB51.NET/ARTICLE/29508.HTM?FROM=SINGLEMESSAGE: "json的前台操作和后台操作实现代码", 《脚本之家》 * |
Also Published As
Publication number | Publication date |
---|---|
CN106325846B (zh) | 2021-04-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106445484B (zh) | 通过软件开发工具包实现数据跟踪的方法及系统 | |
Ciman et al. | An empirical analysis of energy consumption of cross-platform frameworks for mobile development | |
CN105339889B (zh) | 用于计算机应用的语言翻译本地化的技术 | |
US20140173454A1 (en) | Method and system for designing, deploying and executing transactional multi-platform mobile applications | |
CN113094037A (zh) | 表单和工作流的交互方法、开发平台、设备及存储介质 | |
CN109725901A (zh) | 前端代码的开发方法、装置、设备和计算机存储介质 | |
CN107608675B (zh) | 基于虚拟文档对象模型的跨平台前端开发系统及方法 | |
Macik et al. | Context-sensitive, cross-platform user interface generation | |
CN105204873B (zh) | 一种终端及应用界面显示方法 | |
MX2013014795A (es) | Transformacion de objeto de interfase de usuario automatizada y generacion de codigo. | |
US20170286073A1 (en) | Apparatus for providing framework to develop client application executed on multiple platforms, and method using the same | |
CN111130891A (zh) | 一种服务器管理装置、方法及电子设备和存储介质 | |
CN105700925A (zh) | 一种app的界面实现方法和装置 | |
CN108008997A (zh) | 一种app皮肤统一更换的方法 | |
CN104636122B (zh) | 一种能力组件的共享方法和设备 | |
US20200142953A1 (en) | Enterprise Form Dependency Visualization and Management | |
CN106797670A (zh) | 使用表征状态转移业务的物理交换机初始化 | |
CN105138337B (zh) | 一种插件适配方法及插件适配装置 | |
US10693962B1 (en) | Language and mechanism for modeling and exporting storage platform topologies, attributes, and behaviors | |
CN111413876A (zh) | 一种配置app的控制页面的方法及云平台、终端设备 | |
CN104063219A (zh) | 一种web系统的表格开发方法及系统 | |
Nilsson et al. | Model-based user interface adaptation | |
CN106569828B (zh) | 可扩展定制实现模拟人工操作触摸设备的方法 | |
CN106325846A (zh) | 添加应用程序的功能模块的方法和装置 | |
Sboui et al. | A UI-DSPL approach for the development of context-adaptable user interfaces |
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 |