999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于模板的BREW應用可視化界面設計及代碼生成

2010-01-01 00:00:00孫斌董悅麗
軟件工程 2010年3期

摘要:本文提出了一種基于模板技術的BREW應用程序可視化用戶界面設計以及代碼自動生成的方法,從而改變了手工編寫BREW應用的現狀。本系統為提供一個可視化的圖形界面設計工具,開發人員可以進行所見即所得的界面設計,同時根據用戶的設計生成XML文件,接下來利用該XML文件及BREW程序框架模板自動生成應用代碼。可視化的界面設計及自動代碼生成提高BREW應用的開發效率。

關鍵詞:模板;自動代碼生成;可視化

1 引言

隨著時代的發展,手機用戶群體越來越大,人們對手機應用軟件的需求也隨之增大。2008年我國電信行業重組、以及3G牌照的發放,標志這3G時代的到來。手機應用程序的開發面臨著更為巨大的市場。快速變化的市場要求開發人員能夠快速開發出豐富多彩的應用程序。以往BREW應用程序的開發仍然處于手工編寫的狀態。當開發人員開發應用的界面部分時,需要在編輯環境中將代碼寫好,經過編譯鏈接后在模擬器中執行以觀察界面實際效果,如若不滿意,需要再回來修改源代碼,如此反復,效率非常低下。

可視化的開發環境在目前已經較為普遍,但在BREW應用開發中還屬空白。本文提出一個可視化用戶界面設計及基于模板的代碼自動生成的方法。在可視化的圖形用戶界面設計環境中,開發人員可以為自己的應用程序設定一個圖形手機屏幕進行界面設計。我們將BREW中主要界面接口進行封裝,以界面元素控件的形式提供給用戶。用戶可以通過鼠標拖拽將各種圖形界面元素控件添加到手機屏幕的相應位置,通過調整達到理想的效果,同時在該環境中對個控件的相關屬性進行設置,完成“所見即所得”的界面設計。

在完成可視化的、所見即所得的界面設計后,系統根據用戶設計的結果生成一個XML文件。該XML文件記錄的用戶所設計界面的各種參數。接下來根據XML文件及BREW應用程序模板文件自動生成BREW應用框架代碼。用戶即開發人員可以在生成的代碼上進行進一步的完善,得到最優的代碼。

2 系統總體設計

本系統包括一個可視化的用戶界面設計工具和一個代碼自動生成引擎。如圖1所示。

BREW應用的代碼有其自身特點,其代碼的自動生成是由代碼自動生成引擎根據BREW應用程序框架模板文件和用于描述界面信息的XML文件進行的。其中BREW應用程序框架模板文件是事先根據BREW應用代碼的特點設計而成的XML文件;用戶通過使用一個可視化的用戶界面設計工具對用戶界面進行設計,該工具包括各種界面控件,用戶通過鼠標拖拽對界面布局進行設計并對空間屬性進行設置。該圖形設計工具最終生成一個XML文件,該文件描述了用戶界面的各種信息。

代碼自動生成引擎根據XML文件的信息在BREW應用程序框架模板文件中搜索相應的標簽,并根據界面控件的屬性在模板文件中添加相應代碼,從而生成BREW程序。

3 BREW應用的可視化界面設計及代碼自動生成

3.1 圖形界面控件的封裝及可視化設計環境

目前BREW應用的用戶界面設計仍然是手工編寫代碼的方式,編程人員需要多次運行修改才能達到滿意的效果,效率十分低。

本文開發一個包含有界面設計環境及多種圖形界面控件的可視化界面設計工具。利用該工具,開發人員可以為自己的應用程序創建一個圖形手機屏幕,并可以通過鼠標拖拽將各種圖形界面元素添加到手機屏幕的相應位置,進行“所見即所得”的界面設計。

該工具實現的關鍵是將BREW中相關接口進行抽象并封裝為圖形界面元素控件。例如將BREW中的IImage接口封裝為圖片控件,將ITextCtl控件封裝為文本框控件等等。當用戶將該控件拖拽到屏幕區域并進行調整時,需要記錄下該控件對應接口的各種表象屬性參數,如x、y坐標,寬、高等。此外,對于控件對應接口的其他屬性需要用戶進行設置。

本系統中的可視化界面設計工具可以使人們從從繁瑣的界面設計編碼工作中解脫出來,從而將主要精力放在應用程序業務邏輯的設計與實現上,從而提高了開發效率。

3.2 用戶界面XML文件

可視化界面設計工具根據用戶的設計要生成一個XML文件,該文件記錄了程序界面的各種設計信息,是自動代碼生成中數據來源之一,代碼自動生成引擎根據該文件及程序模板生成最終代碼。在這里,用戶界面信息是以XML文件的格式保存用戶在向導中輸入的信息。之所以采用XML文件的格式保存用戶輸入的信息,是由XML文件的特點決定的。XML是被設計用來存儲數據、攜帶數據和交換數據,并且XML可以從多種類型的數據存儲方式中分離數據。

XML數據定義文件中的標簽名為待替換的參數,也是模板文件中的特殊的標簽,標簽值為用戶輸入的信息,用于代替模板中的待替換的參數。

在本文中,用戶界面XML中定義了每一種界面元素的名稱、類型、所屬窗口、尺寸、坐標等等信息。例如:

mainform

form01

128

160

16

….

pic1

pic01

/pic/test1.jpg

50

70

20

10

….

上例中定義了一個名為mainform的主界面窗口和一個名為pic1的圖片控件。主界面窗口大小為128*160,顏色深度為16位。圖片對應的文件時pic/test1.jpg,該圖片的大小為50*70,位于主界面窗口上(20,10)的位置。圖片其中的標簽名,如FormName, ImageName, FormCX, FormCY, FormColorDepth,ImageFile等是模板中待替換的參數,而標簽值,如mainform, userid,pic1,128,160,16,/pic/test1.jpg等用于代替模板中待替換的參數。

3.3 BREW應用程序框架模板文件

模板描述文件可以理解成是一種解釋型文件,需要模板引擎解析執行,執行的結果輸出是程序源代碼文本。模板描述文件實現了代碼框架、數據和流程分離,而且支持模板塊嵌套。

BREW應用程序框架模板文件包括AEEApplet結構體定義部分,入口函數AEEClsCreateInstance(),事件處理函數AEEApplet_HandelEvent(),初始化函數AEEApplet_InitAppData(),和系統終了函數AEEApplet_FreeAppData()四部分。

模板中入口函數AEEClsCreateInstance()采用固定的格式和內容,一般不需要修改。事件處理函數AEEApplet_HandelEvent()包含EVT_APP_START、EVT_APP_STOP、EVT_APP_SUSPEND等小程序事件、按鍵事件EVT_KEY、EVT_COMMAND事件等的處理。這部分是BREW應用的重要組成部分。初始化函數AEEApplet_InitAppData()主要完成應用的初始化,包括變量的初始化、接口實例的創建及初始化等;系統終了函數AEEApplet_FreeAppData()主要完成接口實例的釋放,內存變量的釋放等。

3.4 BREW應用代碼自動生成引擎

代碼自動生成引擎用于解析XML定義文件和讀取指定的模板文件,并將定義文件中解析得來的數據信息,在引擎中進行保存,然后對模板文檔中的標記及變量進行匹配及替換,從而產生源代碼輸出。根據上面的流程將引擎的設計分成三個步驟:

●解析XML數據文件,讀取其中相關的信息;

●解析模板文件,找到要添加代碼的位置并添加代碼;

●根據需要,對已替換的模板進行總體的調整。

例如引擎對用戶界面XML文件分析得知在窗口上設計了一個圖片,引擎將在程序模板的結構體初始化部分生成圖片實例指針的定義:

IImage*pIImage_pic1;

在初始化函數中生成圖片接口示例代碼:

pMe->pIImage_pic1 = ISHELL_LoadImage (pMe->pIshell, “/pic/test1.jpg”);

在事件處理函數的EVT_APP_START事件中生成加載圖片的代碼:

IIMAGE_Draw(pMe->pIImage_pic1,picX,picY);

在終了函數中生成釋放圖片實例的代碼:

if(pMe->pIImage_pic1 != NULL)

{

IIMAGE_Release(pMe->pIImage_pic1);

pMe->pIImage_pic1=NULL;

}

4 結束語

本文提出了一種基于XML模板的BREW代碼自動生成技術。在本系統中,通過對BREW接口的封裝,為BREW手機應用開發提供一個可視化的設計環境。利用該系統,開發人員可以進行“所見即所得”的應用程序界面設計,并根據BREW程序框架模板生成相應的源代碼。該系統可使BREW應用開發由過去的手工書寫源代碼變為可視化設計、源代碼自動生成,促進BREW應用開發的標準化和工業化,大幅度提高開發效率。

參考文獻

[1]R.J.Sanchez. CDMA Digital Cellular Overview and Field Trials Results[J].IEEE MTT-S International Topical Symposium,1995.

[2]ATTAR R, GHOSH D, LOTT C ,et al. Evolution of cdma2000 Cellular Networks: Multicarrier[J]. EV-DO.IEEE Communications Magazine,0163-6804/06,2006(3):46.

[3]李賀,尹國強,蔣亮.BREW技術開發與應用[M].北京:機械工業出版社,2006.

[4]郭金發,張龍.短信與BREW開發技術及實踐[M].西安:西安電子科技大學出版社,2005.

[5]卜佳俊,張海翔,陳天洲.深入BREW手機游戲開發[M].北京:清華大學出版社,2004.

主站蜘蛛池模板: 国产高清在线观看91精品| 国产一级二级三级毛片| 狠狠色香婷婷久久亚洲精品| 国产成人欧美| 欧美成人二区| 色综合手机在线| 亚洲无码视频喷水| 国产真实乱了在线播放| 中文字幕欧美日韩高清| 亚洲欧洲免费视频| 永久免费精品视频| 欧美一级在线| 在线观看视频99| 一级毛片免费的| 国内精品小视频福利网址| 亚洲一欧洲中文字幕在线| 亚洲精品片911| 日韩欧美中文字幕在线韩免费| 久久国产精品波多野结衣| 欧美亚洲日韩中文| 91福利一区二区三区| 国产99精品视频| 91精品综合| av大片在线无码免费| 日韩AV手机在线观看蜜芽| 国产成人h在线观看网站站| 特级aaaaaaaaa毛片免费视频| 久久频这里精品99香蕉久网址| 一级毛片无毒不卡直接观看| a级毛片免费看| 欧美一级夜夜爽www| 国产成人夜色91| 国产麻豆永久视频| 国产一级片网址| 日韩精品毛片| 欧美色伊人| 国产白浆一区二区三区视频在线| 精品久久久久久中文字幕女| 久久久久国产一区二区| 国产99在线观看| a天堂视频| 午夜视频日本| 女人爽到高潮免费视频大全| 亚洲欧美综合在线观看| 成人亚洲视频| 丁香六月激情综合| 欧美成人午夜在线全部免费| 少妇露出福利视频| 操国产美女| 精品国产91爱| 欧美国产日产一区二区| 成人在线不卡| 国产成人精品优优av| 欧美一级特黄aaaaaa在线看片| 国产亚洲精品在天天在线麻豆| 久久先锋资源| 综合色区亚洲熟妇在线| 国产精品白浆在线播放| 天天激情综合| 亚洲精品视频免费观看| 一本无码在线观看| 国产丝袜精品| 国产91蝌蚪窝| 欧美一级在线播放| 国产免费福利网站| 亚洲精品成人片在线观看| 久久这里只有精品66| 国产H片无码不卡在线视频| 久久成人18免费| 日本欧美在线观看| 欧美日韩成人| 亚洲精品第1页| 亚洲AV人人澡人人双人| 日韩高清无码免费| 国产在线拍偷自揄拍精品| 在线中文字幕网| 欧美一区二区啪啪| 国产大片黄在线观看| 色视频久久| 视频一区亚洲| 国产一级毛片yw| 成人国产精品一级毛片天堂 |