CN106325846B - 添加应用程序的功能模块的方法和装置 - Google Patents
添加应用程序的功能模块的方法和装置 Download PDFInfo
- Publication number
- CN106325846B CN106325846B CN201510388730.8A CN201510388730A CN106325846B CN 106325846 B CN106325846 B CN 106325846B CN 201510388730 A CN201510388730 A CN 201510388730A CN 106325846 B CN106325846 B CN 106325846B
- Authority
- CN
- China
- Prior art keywords
- application program
- module
- function module
- json
- interface
- 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
- Stored Programmes (AREA)
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 (4)
1.一种添加应用程序的功能模块的方法,其特征在于,包括:
在应用程序收到用于呈现智能家居控制界面的外部操作的情况下,获取服务端的可扩展标记语言XML模板和JavaScript对象表示法JSON配置文件,所述应用程序包含多个功能模块,每个功能模块分别用于控制一种智能家居设备,所述XML模板中包含功能模块在应用程序的界面中的呈现方式的配置信息,所述XML模板中包含多个功能模块的所述配置信息,所述JSON配置文件用于配置所述功能模块的逻辑属性,所述JSON配置文件为多个;所述逻辑属性包括功能模块内部的界面样式和事件处理方式,以及与应用程序的交互方式和模块初始化参数;
根据所述JSON配置文件的内容获取服务端的所述功能模块的配置数据,该配置数据包括所述功能模块样式参数、功能模块初始化参数、事件处理方式以及与应用程序的交互方式,然后根据所述XML模板的内容和该配置数据初始化所述功能模块并在所述应用程序的界面呈现所述功能模块。
2.一种添加应用程序的功能模块的装置,其特征在于,包括:
第一获取单元,用于在应用程序收到用于呈现智能家居控制界面的外部操作的情况下,获取服务端的可扩展标记语言XML模板和JavaScript对象表示法JSON配置文件,所述应用程序包含多个功能模块,每个功能模块分别用于控制一种智能家居设备,所述XML模板中包含功能模块在应用程序的界面中的呈现方式的配置信息,所述XML模板中包含多个功能模块的所述配置信息,所述JSON配置文件用于配置所述功能模块的逻辑属性,所述JSON配置文件为多个;所述逻辑属性包括功能模块内部的界面样式和事件处理方式,以及与应用程序的交互方式和模块初始化参数;
第二获取单元,用于根据所述JSON配置文件的内容获取服务端的所述功能模块的配置数据,该配置数据包括所述功能模块样式参数、功能模块初始化参数、事件处理方式以及与应用程序的交互方式;
模块添加单元,用于根据所述XML模板的内容和该配置数据初始化所述功能模块并在所述应用程序的界面呈现所述功能模块。
3.一种添加应用程序的功能模块的电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1所述的方法。
4.一种计算机可读介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1所述的方法。
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 CN106325846A (zh) | 2017-01-11 |
CN106325846B true 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 (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1614557A (zh) * | 2003-11-04 | 2005-05-11 | 西门子公司 | 用于动态生成用户界面的方法和系统 |
CN102811187A (zh) * | 2012-08-01 | 2012-12-05 | 陈为人 | 一种基于Web网站的家庭网关系统及其设置方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7861213B2 (en) * | 2006-09-05 | 2010-12-28 | Oracle International Corporation | Mechanism for developing AJax applications using java swing framework and method for using the same |
CN101895431B (zh) * | 2010-08-20 | 2012-02-29 | 烽火通信科技股份有限公司 | 一种基于RIA的高性能Web传输网管系统及实现方法 |
CN102495734A (zh) * | 2011-12-12 | 2012-06-13 | 方正国际软件有限公司 | 可继承工具栏体系及其实现方法 |
CN103823676B (zh) * | 2014-02-14 | 2018-01-30 | 珠海市君天电子科技有限公司 | 显示控制方法、装置和客户端 |
-
2015
- 2015-07-01 CN CN201510388730.8A patent/CN106325846B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1614557A (zh) * | 2003-11-04 | 2005-05-11 | 西门子公司 | 用于动态生成用户界面的方法和系统 |
CN102811187A (zh) * | 2012-08-01 | 2012-12-05 | 陈为人 | 一种基于Web网站的家庭网关系统及其设置方法 |
Non-Patent Citations (1)
Title |
---|
json的前台操作和后台操作实现代码;https://www.jb51.net/article/29508.htm?from=singlemessage;《脚本之家》;20120120;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN106325846A (zh) | 2017-01-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20200218515A1 (en) | Automatically generating an interface description in an interface description language | |
KR102131159B1 (ko) | 스마트 기기를 제어하는 방법 및 장치 및 컴퓨터 저장 매체 | |
US10284418B2 (en) | Network switch management via embedded management controller using management information base (MIB) to JSON parser | |
US9369344B2 (en) | Automated techniques to deploy a converged infrastructure having unknown initial component configurations | |
CN105704188B (zh) | 应用与服务的部署方法和装置 | |
CN103345393A (zh) | 一种控制网页的方法和装置 | |
US20140108000A1 (en) | Generate, Edit, and Automated Use of a Machine-Readable Cable Specification to Audit Cabling of a Converged Infrastructure | |
CN106406839A (zh) | 屏幕适配文件的处理方法和装置 | |
CN111399941A (zh) | 一种bmc功能的批量配置方法、装置及设备 | |
CN103530178A (zh) | Android系统智能设备的锁屏方法及装置 | |
CN111007733B (zh) | 一种智慧家居终端app集成智能设备的方法及装置 | |
US8959191B2 (en) | Script modification suggestion | |
CN106325846B (zh) | 添加应用程序的功能模块的方法和装置 | |
CN104063277A (zh) | 一种信息处理方法及电子设备 | |
CN104102480A (zh) | 生成配置文件的方法和装置 | |
CN104836693A (zh) | 一种路由器配置方法、装置、以及一种路由器 | |
Petelj et al. | Web based solution for smart home functionality extension and control | |
CN106202298B (zh) | 用于网页展示的方法及系统 | |
KR20150097107A (ko) | 애플리케이션 개발 환경 제공 장치 | |
CN108089860A (zh) | 一种菜单选择器及弹出式菜单生成控制方法和装置 | |
CN105205070A (zh) | 在网页页面上展示占比图的方法和装置 | |
KR20150099051A (ko) | 애플리케이션 개발 환경 제공 장치 | |
KR20150099237A (ko) | 애플리케이션 개발 환경 제공 장치 | |
KR20150097116A (ko) | 애플리케이션 개발 환경 제공 장치 | |
KR20150098913A (ko) | 애플리케이션 개발 환경 제공 장치 |
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 |