论文部分内容阅读
摘要:为解决遥控器的多样性带来的界面开发问题,提出一种针对遥控器界面的通用描述方法,基于该描述方法的语法实现了界面自动生成引擎。实验表明,通过对不同应用系统的遥控界面进行描述产生遥控描述文件,并由界面自动生成引擎解析生成遥控界面,实现了遥控器界面的自动生成,提高遥控器界面的开发效率,减少开发和维护成本。
关键词:遥控器;XML;界面自动生成
中图分类号:TP391文献标识码:A文章编号:1009-3044(2012)15-3739-03
The Implementation of UI Auto-generate for Remote Controller Based on XML
CAI Rui1, PENG Wen-kui2
(1.Guangdong Vocational Institute of Public Administration, Guangzhou 510800, China; 2. Ericsson, Guangzhou 510000, China)
Abstract: To easy the way of developing user interface for various kinds of remote controller, design a common description method for the user interface of remote controller, implement the user interface auto-generate engine based on the description method. In experiment, using the description method to generate the description file for different applications, auto-generate engine analysis the files and generate the user interface for remote controller automatically, the efficiency of UI development is improved, and the cost spent on development and maintenance is reduced.
Key words: remote controller; XML; user interface auto-generate
随着网络的发展和智能手持设备的普及,越来越多的遥控器应用出现在手持设备上。不同的受控终端都有不同的遥控功能以及遥控器界面,因此,针对不同的受控终端,需要开发不同的遥控器程序,开发和维护成本较高。界面自动生成技术为解决上述问题提供了可行的方向,在不改变遥控器程序的设计和功能的前提下,实现对用户遥控界面构造的调整。
界面自动生成技术将用户界面依照协议语法转化为数据模型,根据协议语法的规则实现界面生成器,通过解析数据模型,界面生成器自动生成用户界面;遵循相同的协议语法,不同的用户界面可以转化为不同的数据模型实例,都可以由界面生成器解析生成用户界面。可以看出,协议语法是数据模型和界面生成器之间的桥梁。针对遥控器界面的特点,本文提出一种基于XML语言的遥控描述方法作为协议语法,并在J2ME平台上完成了界面自动生成引擎,从而实现遥控器界面自动生成。
1基于XML语言的遥控描述方法
XML是一种具有灵活性和可扩展性的标记语言,随着其不断的完善,得到了广泛的应用。作为一种通用的标记语言,具有清晰的逻辑结构和用户自定义的标识含义,便于数据的互操作和上层逻辑处理。本文采用XML作为描述语言对遥控界面和遥控逻辑进行描述,在提高描述语法的灵活性和可扩展性的同时,也便于界面自动生成引擎对描述文件进行解析。
遥控器界面自动生成的主要工作在于制定合適的界面描述方法,采用该描述方法对遥控器的界面及功能进行描述并生成描述文件;遥控器具有与界面描述方法匹配的界面生成引擎,通过解析遥控描述文件生成遥控界面及相关操作逻辑,为不同的遥控界面描述产生不同的遥控界面及操作逻辑。
遥控器程序所运行的平台通常都是手持设备,屏幕尺寸有限,对于受控终端一些复杂的操作逻辑或界面形式,可以拆分成一些基本的控件元素实现在遥控界面上。同时,相对于复杂的应用软件系统,遥控器通常不需要复杂的计算逻辑,主要工作逻辑在于向受控终端传送指令和同步受控终端的状态。本文主要通过三个部分的信息来描述遥控器的界面和功能:界面元素信息、元素分组信息、通信信息。
1)界面元素及相关通信信息
遥控界面由不同的界面元素组成,使用六种基本界面元素类型能够组合成各种复杂的遥控界面,每一种界面元素类型对应一种控件类型,分别是:0、按钮,1、静态控件,2、复选框,3、单选框,4、列表框,5、编辑框。在遥控描述文件中,每个界面元素都由两类信息进行描述:显示信息和通信信息。显示信息对界面元素的类型、名称以及注释进行描述,决定了遥控器界面的显示形式。通信信息对界面元素的遥控指令进行描述,决定了遥控指令的编码和内容。
2)界面元素分组及相关通信信息
在遥控描述文件中,界面元素分组的描述包括两个方面:分组信息和通信信息。分组信息对分组的名称和分组内的界面元素进行描述,将各界面元素进行分组,每个分组视为一个显示合集,根据遥控器显示屏幕的尺寸,同一个显示合集的界面元素将形成一个或多个关联在一起的遥控子界面,用户可以在不同的遥控子界面之间跳转。分组的通信信息对分组的遥控指令进行描述,实现了遥控器和受控端之间显示焦点的同步。
本文以一个视频会议系统为例,实现了遥控描述文件,其中对一个界面元素分组的描述如下形式:
视频设置面板
4000
-
选中摄像机
2
4001
4002
选择是否使用摄像机
-
选中声卡
……
……….
3)全局通信参数
全局通信参数对完成遥控所需的公共指令进行定义。
9000
0200
errorCommand定义了错误指令,受控终端通过该指令向遥控器发送错误提示信息。ackCommand定义了确认指令,受控端每次接收到遥控器发来的消息都向遥控器反馈一个确认消息,遥控器根据ACK信息监测丢包并选择重传,提高遥控通信的可靠性。
2界面自动生成引擎
界面自动生成引擎作为遥控器程序的主要部分,实现了遥控器界面的自动生成。为了适应智能手持设备的多样性,本文基于J2ME开发了界面自动生成引擎。
界面自动生成引擎通过解析用户遥控描述文件,生成相应的用户遥控界面和相关遥控逻辑。界面自动生成引擎主要由三个部分构成:文件解析器、控件加载器、界面控制器。从图1中可以看出,文件解析器读取遥控描述文件,将用户界面的描述解析成有分组关系的若干界面数据模型,然后调用控件加载器依次创建界面控件,依照分组关系生成若干面板并实现面板内控件的布局;各面板交由界面控制器存储,建立管理逻辑以及遥控通信线程,最终形成用户遥控界面。本文实现的遥控界面生成引擎以面板的概念来表示各个用户遥控子界面,由界面控制器调度各面板的加载显示,完成遥控逻辑和各个遥控子界面之间的跳转。
参考文献:
[1]杨鹤标,侯仁刚,田青华.支持界面自动生成的模型研究[J].计算机工程,2010,36(3):79-82.
[2] Jeffrey Nichols,Brad A.Myers, Brandon Rothrock.UNIFORM: Automatically Generating Consistent Remote Control User Interfaces[C].Pro? ceedings CHI’2006: Human Factors in Computing Systems. Montreal, Canada, April 22-27, 2006: 611-620.
[3]林丽华,杨士元,叶朝辉,徐海.即插即用家庭网络遥控器的研究与开发[J].微计算机信息,2006(34).
[4]詹建飞.J2ME开发精解[M].北京:电子工业出版社, 2006.
[5]李大成,陈莘萌.Java与XML的结合应用[J].计算机应用,2002(2).
关键词:遥控器;XML;界面自动生成
中图分类号:TP391文献标识码:A文章编号:1009-3044(2012)15-3739-03
The Implementation of UI Auto-generate for Remote Controller Based on XML
CAI Rui1, PENG Wen-kui2
(1.Guangdong Vocational Institute of Public Administration, Guangzhou 510800, China; 2. Ericsson, Guangzhou 510000, China)
Abstract: To easy the way of developing user interface for various kinds of remote controller, design a common description method for the user interface of remote controller, implement the user interface auto-generate engine based on the description method. In experiment, using the description method to generate the description file for different applications, auto-generate engine analysis the files and generate the user interface for remote controller automatically, the efficiency of UI development is improved, and the cost spent on development and maintenance is reduced.
Key words: remote controller; XML; user interface auto-generate
随着网络的发展和智能手持设备的普及,越来越多的遥控器应用出现在手持设备上。不同的受控终端都有不同的遥控功能以及遥控器界面,因此,针对不同的受控终端,需要开发不同的遥控器程序,开发和维护成本较高。界面自动生成技术为解决上述问题提供了可行的方向,在不改变遥控器程序的设计和功能的前提下,实现对用户遥控界面构造的调整。
界面自动生成技术将用户界面依照协议语法转化为数据模型,根据协议语法的规则实现界面生成器,通过解析数据模型,界面生成器自动生成用户界面;遵循相同的协议语法,不同的用户界面可以转化为不同的数据模型实例,都可以由界面生成器解析生成用户界面。可以看出,协议语法是数据模型和界面生成器之间的桥梁。针对遥控器界面的特点,本文提出一种基于XML语言的遥控描述方法作为协议语法,并在J2ME平台上完成了界面自动生成引擎,从而实现遥控器界面自动生成。
1基于XML语言的遥控描述方法
XML是一种具有灵活性和可扩展性的标记语言,随着其不断的完善,得到了广泛的应用。作为一种通用的标记语言,具有清晰的逻辑结构和用户自定义的标识含义,便于数据的互操作和上层逻辑处理。本文采用XML作为描述语言对遥控界面和遥控逻辑进行描述,在提高描述语法的灵活性和可扩展性的同时,也便于界面自动生成引擎对描述文件进行解析。
遥控器界面自动生成的主要工作在于制定合適的界面描述方法,采用该描述方法对遥控器的界面及功能进行描述并生成描述文件;遥控器具有与界面描述方法匹配的界面生成引擎,通过解析遥控描述文件生成遥控界面及相关操作逻辑,为不同的遥控界面描述产生不同的遥控界面及操作逻辑。
遥控器程序所运行的平台通常都是手持设备,屏幕尺寸有限,对于受控终端一些复杂的操作逻辑或界面形式,可以拆分成一些基本的控件元素实现在遥控界面上。同时,相对于复杂的应用软件系统,遥控器通常不需要复杂的计算逻辑,主要工作逻辑在于向受控终端传送指令和同步受控终端的状态。本文主要通过三个部分的信息来描述遥控器的界面和功能:界面元素信息、元素分组信息、通信信息。
1)界面元素及相关通信信息
遥控界面由不同的界面元素组成,使用六种基本界面元素类型能够组合成各种复杂的遥控界面,每一种界面元素类型对应一种控件类型,分别是:0、按钮,1、静态控件,2、复选框,3、单选框,4、列表框,5、编辑框。在遥控描述文件中,每个界面元素都由两类信息进行描述:显示信息和通信信息。显示信息对界面元素的类型、名称以及注释进行描述,决定了遥控器界面的显示形式。通信信息对界面元素的遥控指令进行描述,决定了遥控指令的编码和内容。
2)界面元素分组及相关通信信息
在遥控描述文件中,界面元素分组的描述包括两个方面:分组信息和通信信息。分组信息对分组的名称和分组内的界面元素进行描述,将各界面元素进行分组,每个分组视为一个显示合集,根据遥控器显示屏幕的尺寸,同一个显示合集的界面元素将形成一个或多个关联在一起的遥控子界面,用户可以在不同的遥控子界面之间跳转。分组的通信信息对分组的遥控指令进行描述,实现了遥控器和受控端之间显示焦点的同步。
本文以一个视频会议系统为例,实现了遥控描述文件,其中对一个界面元素分组的描述如下形式:
……
……….
3)全局通信参数
全局通信参数对完成遥控所需的公共指令进行定义。
errorCommand定义了错误指令,受控终端通过该指令向遥控器发送错误提示信息。ackCommand定义了确认指令,受控端每次接收到遥控器发来的消息都向遥控器反馈一个确认消息,遥控器根据ACK信息监测丢包并选择重传,提高遥控通信的可靠性。
2界面自动生成引擎
界面自动生成引擎作为遥控器程序的主要部分,实现了遥控器界面的自动生成。为了适应智能手持设备的多样性,本文基于J2ME开发了界面自动生成引擎。
界面自动生成引擎通过解析用户遥控描述文件,生成相应的用户遥控界面和相关遥控逻辑。界面自动生成引擎主要由三个部分构成:文件解析器、控件加载器、界面控制器。从图1中可以看出,文件解析器读取遥控描述文件,将用户界面的描述解析成有分组关系的若干界面数据模型,然后调用控件加载器依次创建界面控件,依照分组关系生成若干面板并实现面板内控件的布局;各面板交由界面控制器存储,建立管理逻辑以及遥控通信线程,最终形成用户遥控界面。本文实现的遥控界面生成引擎以面板的概念来表示各个用户遥控子界面,由界面控制器调度各面板的加载显示,完成遥控逻辑和各个遥控子界面之间的跳转。
参考文献:
[1]杨鹤标,侯仁刚,田青华.支持界面自动生成的模型研究[J].计算机工程,2010,36(3):79-82.
[2] Jeffrey Nichols,Brad A.Myers, Brandon Rothrock.UNIFORM: Automatically Generating Consistent Remote Control User Interfaces[C].Pro? ceedings CHI’2006: Human Factors in Computing Systems. Montreal, Canada, April 22-27, 2006: 611-620.
[3]林丽华,杨士元,叶朝辉,徐海.即插即用家庭网络遥控器的研究与开发[J].微计算机信息,2006(34).
[4]詹建飞.J2ME开发精解[M].北京:电子工业出版社, 2006.
[5]李大成,陈莘萌.Java与XML的结合应用[J].计算机应用,2002(2).