国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于XML實現(xiàn)遙控器界面自動生成

2012-04-29 19:14:57蔡瑞彭文魁
電腦知識與技術(shù) 2012年15期
關(guān)鍵詞:遙控器

蔡瑞 彭文魁

摘要:為解決遙控器的多樣性帶來的界面開發(fā)問題,提出一種針對遙控器界面的通用描述方法,基于該描述方法的語法實現(xiàn)了界面自動生成引擎。實驗表明,通過對不同應(yīng)用系統(tǒng)的遙控界面進行描述產(chǎn)生遙控描述文件,并由界面自動生成引擎解析生成遙控界面,實現(xiàn)了遙控器界面的自動生成,提高遙控器界面的開發(fā)效率,減少開發(fā)和維護成本。

關(guān)鍵詞:遙控器;XML;界面自動生成

中圖分類號:TP391文獻標(biāo)識碼: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

隨著網(wǎng)絡(luò)的發(fā)展和智能手持設(shè)備的普及,越來越多的遙控器應(yīng)用出現(xiàn)在手持設(shè)備上。不同的受控終端都有不同的遙控功能以及遙控器界面,因此,針對不同的受控終端,需要開發(fā)不同的遙控器程序,開發(fā)和維護成本較高。界面自動生成技術(shù)為解決上述問題提供了可行的方向,在不改變遙控器程序的設(shè)計和功能的前提下,實現(xiàn)對用戶遙控界面構(gòu)造的調(diào)整。

界面自動生成技術(shù)將用戶界面依照協(xié)議語法轉(zhuǎn)化為數(shù)據(jù)模型,根據(jù)協(xié)議語法的規(guī)則實現(xiàn)界面生成器,通過解析數(shù)據(jù)模型,界面生成器自動生成用戶界面;遵循相同的協(xié)議語法,不同的用戶界面可以轉(zhuǎn)化為不同的數(shù)據(jù)模型實例,都可以由界面生成器解析生成用戶界面。可以看出,協(xié)議語法是數(shù)據(jù)模型和界面生成器之間的橋梁。針對遙控器界面的特點,本文提出一種基于XML語言的遙控描述方法作為協(xié)議語法,并在J2ME平臺上完成了界面自動生成引擎,從而實現(xiàn)遙控器界面自動生成。

1基于XML語言的遙控描述方法

XML是一種具有靈活性和可擴展性的標(biāo)記語言,隨著其不斷的完善,得到了廣泛的應(yīng)用。作為一種通用的標(biāo)記語言,具有清晰的邏輯結(jié)構(gòu)和用戶自定義的標(biāo)識含義,便于數(shù)據(jù)的互操作和上層邏輯處理。本文采用XML作為描述語言對遙控界面和遙控邏輯進行描述,在提高描述語法的靈活性和可擴展性的同時,也便于界面自動生成引擎對描述文件進行解析。

遙控器界面自動生成的主要工作在于制定合適的界面描述方法,采用該描述方法對遙控器的界面及功能進行描述并生成描述文件;遙控器具有與界面描述方法匹配的界面生成引擎,通過解析遙控描述文件生成遙控界面及相關(guān)操作邏輯,為不同的遙控界面描述產(chǎn)生不同的遙控界面及操作邏輯。

遙控器程序所運行的平臺通常都是手持設(shè)備,屏幕尺寸有限,對于受控終端一些復(fù)雜的操作邏輯或界面形式,可以拆分成一些基本的控件元素實現(xiàn)在遙控界面上。同時,相對于復(fù)雜的應(yīng)用軟件系統(tǒng),遙控器通常不需要復(fù)雜的計算邏輯,主要工作邏輯在于向受控終端傳送指令和同步受控終端的狀態(tài)。本文主要通過三個部分的信息來描述遙控器的界面和功能:界面元素信息、元素分組信息、通信信息。

1)界面元素及相關(guān)通信信息

遙控界面由不同的界面元素組成,使用六種基本界面元素類型能夠組合成各種復(fù)雜的遙控界面,每一種界面元素類型對應(yīng)一種控件類型,分別是:0、按鈕,1、靜態(tài)控件,2、復(fù)選框,3、單選框,4、列表框,5、編輯框。在遙控描述文件中,每個界面元素都由兩類信息進行描述:顯示信息和通信信息。顯示信息對界面元素的類型、名稱以及注釋進行描述,決定了遙控器界面的顯示形式。通信信息對界面元素的遙控指令進行描述,決定了遙控指令的編碼和內(nèi)容。

2)界面元素分組及相關(guān)通信信息

在遙控描述文件中,界面元素分組的描述包括兩個方面:分組信息和通信信息。分組信息對分組的名稱和分組內(nèi)的界面元素進行描述,將各界面元素進行分組,每個分組視為一個顯示合集,根據(jù)遙控器顯示屏幕的尺寸,同一個顯示合集的界面元素將形成一個或多個關(guān)聯(lián)在一起的遙控子界面,用戶可以在不同的遙控子界面之間跳轉(zhuǎn)。分組的通信信息對分組的遙控指令進行描述,實現(xiàn)了遙控器和受控端之間顯示焦點的同步。

本文以一個視頻會議系統(tǒng)為例,實現(xiàn)了遙控描述文件,其中對一個界面元素分組的描述如下形式:

視頻設(shè)置面板

4000

選中攝像機

2

4001

4002

選擇是否使用攝像機

選中聲卡

……

……….

3)全局通信參數(shù)

全局通信參數(shù)對完成遙控所需的公共指令進行定義。

9000

0200

errorCommand定義了錯誤指令,受控終端通過該指令向遙控器發(fā)送錯誤提示信息。ackCommand定義了確認(rèn)指令,受控端每次接收到遙控器發(fā)來的消息都向遙控器反饋一個確認(rèn)消息,遙控器根據(jù)ACK信息監(jiān)測丟包并選擇重傳,提高遙控通信的可靠性。

2界面自動生成引擎

界面自動生成引擎作為遙控器程序的主要部分,實現(xiàn)了遙控器界面的自動生成。為了適應(yīng)智能手持設(shè)備的多樣性,本文基于J2ME開發(fā)了界面自動生成引擎。

界面自動生成引擎通過解析用戶遙控描述文件,生成相應(yīng)的用戶遙控界面和相關(guān)遙控邏輯。界面自動生成引擎主要由三個部分構(gòu)成:文件解析器、控件加載器、界面控制器。從圖1中可以看出,文件解析器讀取遙控描述文件,將用戶界面的描述解析成有分組關(guān)系的若干界面數(shù)據(jù)模型,然后調(diào)用控件加載器依次創(chuàng)建界面控件,依照分組關(guān)系生成若干面板并實現(xiàn)面板內(nèi)控件的布局;各面板交由界面控制器存儲,建立管理邏輯以及遙控通信線程,最終形成用戶遙控界面。本文實現(xiàn)的遙控界面生成引擎以面板的概念來表示各個用戶遙控子界面,由界面控制器調(diào)度各面板的加載顯示,完成遙控邏輯和各個遙控子界面之間的跳轉(zhuǎn)。

圖1界面自動生成引擎工作流程

2.1文件解析器

文件解析器不僅解析XML文件的結(jié)構(gòu),同時也需要解析遙控描述方法的規(guī)則。它首先解析出XML文件的元素,然后將這些元素植入語法解析器,分析出元素所對應(yīng)的遙控描述規(guī)則,進而解析出界面數(shù)據(jù)模型。支持單層分組的文件解析器的解析流程如下:

本文使用第三方的CLDC環(huán)境下運作的開放源碼XML分析器-kXML,對獲取的XML格式的數(shù)據(jù)流進行解析。kXML是一個被設(shè)計用于J2ME設(shè)備的簡化類庫,僅占很小存儲空間,非常適合于J2ME應(yīng)用程序中對XML文件的解析工作。

2.2控件加載器

控件加載器用來實例化界面數(shù)據(jù)模型,生成界面視圖并綁定控制邏輯。控件加載器包含一個控件庫;對于界面元素,根據(jù)數(shù)據(jù)模型中該界面元素的描述實例化為一個控件;對于界面分組,實例化為界面面板,由分組內(nèi)的界面元素所對應(yīng)的控件組成;對于通信信息,實例化為控制邏輯,將用戶界面的操作轉(zhuǎn)化為指令傳送給受控終端,并響應(yīng)受控終端發(fā)回的的同步指令。視圖和控制邏輯共同組成了用戶界面。下圖給出了控件加載過程。

圖3控件加載過程

2.3界面控制器

界面控制器是與用戶交互的部分,實現(xiàn)了用戶操作、界面顯示和控制邏輯之間的調(diào)度。用戶點擊觸發(fā)的事件或者接收的網(wǎng)絡(luò)數(shù)據(jù)信息,都封裝成Event事件實體;控制器實體定義了eventHandler函數(shù)用于處理Event事件實體,根據(jù)這些事件實體的類型說明,進行不同的邏輯處理。

事件類有兩個基本的成員變量:eventType和eventContent,eventType標(biāo)識了該事件實體的不同類型,譬如點擊會議室面板的加入會議按鈕和退出會議按鈕,就會被封裝成為不同類型的事件實體。eventContent則是將事件實體格式化成文本。遙控描述文件中的每一個指令對應(yīng)一個事件實體,其指令值就是eventType;通過描述文件中相應(yīng)的信息格式的描述確定evnetContent的格式,如果沒有信息格式的描述,則使用默認(rèn)的格式,如:某界面元素屬于單選框類型,其指令值為“100”,配置文件中沒有信息格式的描述,則對該控件的點擊動作封裝成一個事件實體,evnetType為100,evnetType默認(rèn)為數(shù)字,對應(yīng)可選項的序號。

3結(jié)論

采用界面自動生成技術(shù)動態(tài)生成用戶遙控界面降低了遙控器程序的開發(fā)和維護成本,遙控器本身不需要為不同的受控終端做特定的開發(fā),就能夠針對不同的受控終端動態(tài)生成專用的用戶遙控界面,為用戶操作帶來便利。本文提出的遙控界面描述方法和界面生成引擎還比較簡單,提高其描述能力和兼容性,使其適用于更多復(fù)雜的受控應(yīng)用,還需要進一步的研究工作。

參考文獻:

[1]楊鶴標(biāo),侯仁剛,田青華.支持界面自動生成的模型研究[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 CHI2006: Human Factors in Computing Systems. Montreal, Canada, April 22-27, 2006: 611-620.

[3]林麗華,楊士元,葉朝輝,徐海.即插即用家庭網(wǎng)絡(luò)遙控器的研究與開發(fā)[J].微計算機信息,2006(34).

[4]詹建飛.J2ME開發(fā)精解[M].北京:電子工業(yè)出版社, 2006.

[5]李大成,陳莘萌.Java與XML的結(jié)合應(yīng)用[J].計算機應(yīng)用,2002(2).

猜你喜歡
遙控器
我是“糊涂蟲”
時間遙控器
爸媽有個“遙控器”
情緒遙控器
行走的飛行遙控器
按錯遙控器
平原县| 和龙市| 扬州市| 汝城县| 武汉市| 彰化市| 成都市| 尼勒克县| 什邡市| 肃南| 建平县| 南宫市| 从化市| 石嘴山市| 临清市| 汉川市| 通许县| 滁州市| 通化县| 壶关县| 安新县| 咸阳市| 连南| 永州市| 法库县| 沛县| 宜州市| 阜宁县| 陆良县| 德化县| 北辰区| 中牟县| 平罗县| 新余市| 衡东县| 若尔盖县| 平乡县| 汾阳市| 台南县| 瓮安县| 威远县|