下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
基于模板的BREW應(yīng)用可視化界面設(shè)計及代碼生成
摘要:本文提出了一種基于模板技術(shù)的BREW應(yīng)用程序可視化用戶界面設(shè)計以及代碼自動生成的方法,從而改變了手工編寫B(tài)REW應(yīng)用的現(xiàn)狀。本系統(tǒng)為提供一個可視化的圖形界面設(shè)計工具,開發(fā)人員可以進(jìn)行所見即所得的界面設(shè)計,同時根據(jù)用戶的設(shè)計生成XML文件,接下來利用該XML文件及BREW程序框架模板自動生成應(yīng)用代碼??梢暬慕缑嬖O(shè)計及自動代碼生成提高BREW應(yīng)用的開發(fā)效率。
關(guān)鍵詞:模板;自動代碼生成;可視化
1引言
隨著時代的發(fā)展,手機(jī)用戶群體越來越大,人們對手機(jī)應(yīng)用軟件的需求也隨之增大。2008年我國電信行業(yè)重組、以及3G牌照的發(fā)放,標(biāo)志這3G時代的到來。手機(jī)應(yīng)用程序的開發(fā)面臨著更為巨大的市場??焖僮兓氖袌鲆箝_發(fā)人員能夠快速開發(fā)出豐富多彩的應(yīng)用程序。以往BREW應(yīng)用程序的開發(fā)仍然處于手工編寫的狀態(tài)。當(dāng)開發(fā)人員開發(fā)應(yīng)用的界面部分時,需要在編輯環(huán)境中將代碼寫好,經(jīng)過編譯鏈接后在模擬器中執(zhí)行以觀察界面實(shí)際效果,如若不滿意,需要再回來修改源代碼,如此反復(fù),效率非常低下。
可視化的開發(fā)環(huán)境在目前已經(jīng)較為普遍,但在BREW應(yīng)用開發(fā)中還屬空白。本文提出一個可視化用戶界面設(shè)計及基于模板的代碼自動生成的方法。在可視化的圖形用戶界面設(shè)計環(huán)境中,開發(fā)人員可以為自己的應(yīng)用程序設(shè)定一個圖形手機(jī)屏幕進(jìn)行界面設(shè)計。我們將BREW中主要界面接口進(jìn)行封裝,以界面元素控件的形式提供給用戶。用戶可以通過鼠標(biāo)拖拽將各種圖形界面元素控件添加到手機(jī)屏幕的相應(yīng)位置,通過調(diào)整達(dá)到理想的效果,同時在該環(huán)境中對個控件的相關(guān)屬性進(jìn)行設(shè)置,完成“所見即所得”的界面設(shè)計。
在完成可視化的、所見即所得的界面設(shè)計后,系統(tǒng)根據(jù)用戶設(shè)計的結(jié)果生成一個XML文件。該XML文件記錄的用戶所設(shè)計界面的各種參數(shù)。接下來根據(jù)XML文件及BREW應(yīng)用程序模板文件自動生成BREW應(yīng)用框架代碼。用戶即開發(fā)人員可以在生成的代碼上進(jìn)行進(jìn)一步的完善,得到最優(yōu)的代碼。
2系統(tǒng)總體設(shè)計
本系統(tǒng)包括一個可視化的用戶界面設(shè)計工具和一個代碼自動生成引擎。如圖1所示。
BREW應(yīng)用的代碼有其自身特點(diǎn),其代碼的自動生成是由代碼自動生成引擎根據(jù)BREW應(yīng)用程序框架模板文件和用于描述界面信息的XML文件進(jìn)行的。其中BREW應(yīng)用程序框架模板文件是事先根據(jù)BREW應(yīng)用代碼的特點(diǎn)設(shè)計而成的XML文件;用戶通過使用一個可視化的用戶界面設(shè)計工具對用戶界面進(jìn)行設(shè)計,該工具包括各種界面控件,用戶通過鼠標(biāo)拖拽對界面布局進(jìn)行設(shè)計并對空間屬性進(jìn)行設(shè)置。該圖形設(shè)計工具最終生成一個XML文件,該文件描述了用戶界面的各種信息。
代碼自動生成引擎根據(jù)XML文件的信息在BREW應(yīng)用程序框架模板文件中搜索相應(yīng)的標(biāo)簽,并根據(jù)界面控件的屬性在模板文件中添加相應(yīng)代碼,從而生成BREW程序。
3BREW應(yīng)用的可視化界面設(shè)計及代碼自動生成
3.1圖形界面控件的封裝及可視化設(shè)計環(huán)境
目前BREW應(yīng)用的用戶界面設(shè)計仍然是手工編寫代碼的方式,編程人員需要多次運(yùn)行修改才能達(dá)到滿意的效果,效率十分低。
本文開發(fā)一個包含有界面設(shè)計環(huán)境及多種圖形界面控件的可視化界面設(shè)計工具。利用該工具,開發(fā)人員可以為自己的應(yīng)用程序創(chuàng)建一個圖形手機(jī)屏幕,并可以通過鼠標(biāo)拖拽將各種圖形界面元素添加到手機(jī)屏幕的相應(yīng)位置,進(jìn)行“所見即所得”的界面設(shè)計。
該工具實(shí)現(xiàn)的關(guān)鍵是將BREW中相關(guān)接口進(jìn)行抽象并封裝為圖形界面元素控件。例如將BREW中的IImage接口封裝為圖片控件,將ITextCtl控件封裝為文本框控件等等。當(dāng)用戶將該控件拖拽到屏幕區(qū)域并進(jìn)行調(diào)整時,需要記錄下該控件對應(yīng)接口的各種表象屬性參數(shù),如x、y坐標(biāo),寬、高等。此外,對于控件對應(yīng)接口的其他屬性需要用戶進(jìn)行設(shè)置。
本系統(tǒng)中的可視化界面設(shè)計工具可以使人們從從繁瑣的界面設(shè)計編碼工作中解脫出來,從而將主要精力放在應(yīng)用程序業(yè)務(wù)邏輯的設(shè)計與實(shí)現(xiàn)上,從而提高了開發(fā)效率。
3.2用戶界面XML文件
可視化界面設(shè)計工具根據(jù)用戶的設(shè)計要生成一個XML文件,該文件記錄了程序界面的各種設(shè)計信息,是自動代碼生成中數(shù)據(jù)來源之一,代碼自動生成引擎根據(jù)該文件及程序模板生成最終代碼。在這里,用戶界面信息是以XML文件的格式保存用戶在向?qū)е休斎氲男畔?。之所以采用XML文件的格式保存用戶輸入的信息,是由XML文件的特點(diǎn)決定的。XML是被設(shè)計用來存儲數(shù)據(jù)、攜帶數(shù)據(jù)和交換數(shù)據(jù),并且XML可以從多種類型的數(shù)據(jù)存儲方式中分離數(shù)據(jù)。
XML數(shù)據(jù)定義文件中的標(biāo)簽名為待替換的參數(shù),也是模板文件中的特殊的標(biāo)簽,標(biāo)簽值為用戶輸入的信息,用于代替模板中的待替換的參數(shù)。
在本文中,用戶界面XML中定義了每一種界面元素的名稱、類型、所屬窗口、尺寸、坐標(biāo)等等信息。例如:3.4BREW應(yīng)用代碼自動生成引擎
代碼自動生成引擎用于解析XML定義文件和讀取指定的模板文件,并將定義文件中解析得來的數(shù)據(jù)信息,在引擎中進(jìn)行保存,然后對模板文檔中的標(biāo)記及變量進(jìn)行匹配及替換,從而產(chǎn)生源代碼輸出。根據(jù)上面的流程將引擎的設(shè)計分成三個步驟:
●解析XML數(shù)據(jù)文件,讀取其中相關(guān)的信息;
●解析模板文件,找到要添加代碼的位置并添加代碼;
●根據(jù)需要,對已替換的模板進(jìn)行總體的調(diào)整。
例如引擎對用戶界面XML文件分析得知在窗口上設(shè)計了一個圖片,引擎將在程序模板的結(jié)構(gòu)體初始化部分生成圖片實(shí)例指針的定義:
IImage*pIImage_pic1;
在初始化函數(shù)中生成圖片接口示例代碼:
pMe->pIImage_pic1=ISHELL_LoadImage(pMe->pIshell,“/pic/test1.jpg”);
在事件處理函數(shù)的EVT_APP_START事件中生成加載圖片的代碼:
IIMAGE_Draw(pMe->pIImage_pic1,picX,picY);
在終了函數(shù)中生成釋放圖片實(shí)例的代碼:
if(pMe->pIImage_pic1!=NULL)
{
IIMAGE_Release(pMe->pIImage_pic1);
pMe->pIImage_pic1=NULL;
}
4結(jié)束語
本文提出了一種基于XML模板的BREW代碼自動生成技術(shù)。在本系統(tǒng)中,通過對BREW接口的封裝,為BRE
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度環(huán)保技術(shù)改造項(xiàng)目合同3篇
- 2025版煤炭物流倉儲一體化服務(wù)合同模板4篇
- 2024珠寶銷售合同
- 2025年度高新技術(shù)企業(yè)研發(fā)費(fèi)用加計扣除代理合同3篇
- 2025年度銷售合同信息共享與部門協(xié)同辦公2篇
- 2025年度XX農(nóng)業(yè)廢棄物資源化利用與污水處理合同3篇
- 2024水電站電力輸出及銷售合同協(xié)議
- 2025年度環(huán)保型廠房出租與能源管理一體化服務(wù)合同3篇
- 二零二五年齡上限勞動合同規(guī)范樣本2篇
- 二零二五年度風(fēng)景名勝區(qū)草坪修剪與修復(fù)合同3篇
- MT/T 199-1996煤礦用液壓鉆車通用技術(shù)條件
- GB/T 6144-1985合成切削液
- GB/T 10357.1-2013家具力學(xué)性能試驗(yàn)第1部分:桌類強(qiáng)度和耐久性
- 第三方在線糾紛解決機(jī)制(ODR)述評,國際商法論文
- 第5章-群體-團(tuán)隊溝通-管理溝通
- 腎臟病飲食依從行為量表(RABQ)附有答案
- 深基坑-安全教育課件
- 園林施工管理大型園林集團(tuán)南部區(qū)域養(yǎng)護(hù)標(biāo)準(zhǔn)圖例
- 排水許可申請表
- 低血糖的觀察和護(hù)理課件
- 計量檢定校準(zhǔn)技術(shù)服務(wù)合同協(xié)議書
評論
0/150
提交評論