


下載本文檔
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
基于模板的BREW應(yīng)用可視化界面設(shè)計(jì)及代碼生成
摘要:本文提出了一種基于模板技術(shù)的BREW應(yīng)用程序可視化用戶界面設(shè)計(jì)以及代碼自動(dòng)生成的方法,從而改變了手工編寫(xiě)B(tài)REW應(yīng)用的現(xiàn)狀。本系統(tǒng)為提供一個(gè)可視化的圖形界面設(shè)計(jì)工具,開(kāi)發(fā)人員可以進(jìn)行所見(jiàn)即所得的界面設(shè)計(jì),同時(shí)根據(jù)用戶的設(shè)計(jì)生成XML文件,接下來(lái)利用該XML文件及BREW程序框架模板自動(dòng)生成應(yīng)用代碼??梢暬慕缑嬖O(shè)計(jì)及自動(dòng)代碼生成提高BREW應(yīng)用的開(kāi)發(fā)效率。
關(guān)鍵詞:模板;自動(dòng)代碼生成;可視化
1引言
隨著時(shí)代的發(fā)展,手機(jī)用戶群體越來(lái)越大,人們對(duì)手機(jī)應(yīng)用軟件的需求也隨之增大。2008年我國(guó)電信行業(yè)重組、以及3G牌照的發(fā)放,標(biāo)志這3G時(shí)代的到來(lái)。手機(jī)應(yīng)用程序的開(kāi)發(fā)面臨著更為巨大的市場(chǎng)??焖僮兓氖袌?chǎng)要求開(kāi)發(fā)人員能夠快速開(kāi)發(fā)出豐富多彩的應(yīng)用程序。以往BREW應(yīng)用程序的開(kāi)發(fā)仍然處于手工編寫(xiě)的狀態(tài)。當(dāng)開(kāi)發(fā)人員開(kāi)發(fā)應(yīng)用的界面部分時(shí),需要在編輯環(huán)境中將代碼寫(xiě)好,經(jīng)過(guò)編譯鏈接后在模擬器中執(zhí)行以觀察界面實(shí)際效果,如若不滿意,需要再回來(lái)修改源代碼,如此反復(fù),效率非常低下。
可視化的開(kāi)發(fā)環(huán)境在目前已經(jīng)較為普遍,但在BREW應(yīng)用開(kāi)發(fā)中還屬空白。本文提出一個(gè)可視化用戶界面設(shè)計(jì)及基于模板的代碼自動(dòng)生成的方法。在可視化的圖形用戶界面設(shè)計(jì)環(huán)境中,開(kāi)發(fā)人員可以為自己的應(yīng)用程序設(shè)定一個(gè)圖形手機(jī)屏幕進(jìn)行界面設(shè)計(jì)。我們將BREW中主要界面接口進(jìn)行封裝,以界面元素控件的形式提供給用戶。用戶可以通過(guò)鼠標(biāo)拖拽將各種圖形界面元素控件添加到手機(jī)屏幕的相應(yīng)位置,通過(guò)調(diào)整達(dá)到理想的效果,同時(shí)在該環(huán)境中對(duì)個(gè)控件的相關(guān)屬性進(jìn)行設(shè)置,完成“所見(jiàn)即所得”的界面設(shè)計(jì)。
在完成可視化的、所見(jiàn)即所得的界面設(shè)計(jì)后,系統(tǒng)根據(jù)用戶設(shè)計(jì)的結(jié)果生成一個(gè)XML文件。該XML文件記錄的用戶所設(shè)計(jì)界面的各種參數(shù)。接下來(lái)根據(jù)XML文件及BREW應(yīng)用程序模板文件自動(dòng)生成BREW應(yīng)用框架代碼。用戶即開(kāi)發(fā)人員可以在生成的代碼上進(jìn)行進(jìn)一步的完善,得到最優(yōu)的代碼。
2系統(tǒng)總體設(shè)計(jì)
本系統(tǒng)包括一個(gè)可視化的用戶界面設(shè)計(jì)工具和一個(gè)代碼自動(dòng)生成引擎。如圖1所示。
BREW應(yīng)用的代碼有其自身特點(diǎn),其代碼的自動(dòng)生成是由代碼自動(dòng)生成引擎根據(jù)BREW應(yīng)用程序框架模板文件和用于描述界面信息的XML文件進(jìn)行的。其中BREW應(yīng)用程序框架模板文件是事先根據(jù)BREW應(yīng)用代碼的特點(diǎn)設(shè)計(jì)而成的XML文件;用戶通過(guò)使用一個(gè)可視化的用戶界面設(shè)計(jì)工具對(duì)用戶界面進(jìn)行設(shè)計(jì),該工具包括各種界面控件,用戶通過(guò)鼠標(biāo)拖拽對(duì)界面布局進(jìn)行設(shè)計(jì)并對(duì)空間屬性進(jìn)行設(shè)置。該圖形設(shè)計(jì)工具最終生成一個(gè)XML文件,該文件描述了用戶界面的各種信息。
代碼自動(dòng)生成引擎根據(jù)XML文件的信息在BREW應(yīng)用程序框架模板文件中搜索相應(yīng)的標(biāo)簽,并根據(jù)界面控件的屬性在模板文件中添加相應(yīng)代碼,從而生成BREW程序。
3BREW應(yīng)用的可視化界面設(shè)計(jì)及代碼自動(dòng)生成
3.1圖形界面控件的封裝及可視化設(shè)計(jì)環(huán)境
目前BREW應(yīng)用的用戶界面設(shè)計(jì)仍然是手工編寫(xiě)代碼的方式,編程人員需要多次運(yùn)行修改才能達(dá)到滿意的效果,效率十分低。
本文開(kāi)發(fā)一個(gè)包含有界面設(shè)計(jì)環(huán)境及多種圖形界面控件的可視化界面設(shè)計(jì)工具。利用該工具,開(kāi)發(fā)人員可以為自己的應(yīng)用程序創(chuàng)建一個(gè)圖形手機(jī)屏幕,并可以通過(guò)鼠標(biāo)拖拽將各種圖形界面元素添加到手機(jī)屏幕的相應(yīng)位置,進(jìn)行“所見(jiàn)即所得”的界面設(shè)計(jì)。
該工具實(shí)現(xiàn)的關(guān)鍵是將BREW中相關(guān)接口進(jìn)行抽象并封裝為圖形界面元素控件。例如將BREW中的IImage接口封裝為圖片控件,將ITextCtl控件封裝為文本框控件等等。當(dāng)用戶將該控件拖拽到屏幕區(qū)域并進(jìn)行調(diào)整時(shí),需要記錄下該控件對(duì)應(yīng)接口的各種表象屬性參數(shù),如x、y坐標(biāo),寬、高等。此外,對(duì)于控件對(duì)應(yīng)接口的其他屬性需要用戶進(jìn)行設(shè)置。
本系統(tǒng)中的可視化界面設(shè)計(jì)工具可以使人們從從繁瑣的界面設(shè)計(jì)編碼工作中解脫出來(lái),從而將主要精力放在應(yīng)用程序業(yè)務(wù)邏輯的設(shè)計(jì)與實(shí)現(xiàn)上,從而提高了開(kāi)發(fā)效率。
3.2用戶界面XML文件
可視化界面設(shè)計(jì)工具根據(jù)用戶的設(shè)計(jì)要生成一個(gè)XML文件,該文件記錄了程序界面的各種設(shè)計(jì)信息,是自動(dòng)代碼生成中數(shù)據(jù)來(lái)源之一,代碼自動(dòng)生成引擎根據(jù)該文件及程序模板生成最終代碼。在這里,用戶界面信息是以XML文件的格式保存用戶在向?qū)е休斎氲男畔?。之所以采用XML文件的格式保存用戶輸入的信息,是由XML文件的特點(diǎn)決定的。XML是被設(shè)計(jì)用來(lái)存儲(chǔ)數(shù)據(jù)、攜帶數(shù)據(jù)和交換數(shù)據(jù),并且XML可以從多種類型的數(shù)據(jù)存儲(chǔ)方式中分離數(shù)據(jù)。
XML數(shù)據(jù)定義文件中的標(biāo)簽名為待替換的參數(shù),也是模板文件中的特殊的標(biāo)簽,標(biāo)簽值為用戶輸入的信息,用于代替模板中的待替換的參數(shù)。
在本文中,用戶界面XML中定義了每一種界面元素的名稱、類型、所屬窗口、尺寸、坐標(biāo)等等信息。例如:3.4BREW應(yīng)用代碼自動(dòng)生成引擎
代碼自動(dòng)生成引擎用于解析XML定義文件和讀取指定的模板文件,并將定義文件中解析得來(lái)的數(shù)據(jù)信息,在引擎中進(jìn)行保存,然后對(duì)模板文檔中的標(biāo)記及變量進(jìn)行匹配及替換,從而產(chǎn)生源代碼輸出。根據(jù)上面的流程將引擎的設(shè)計(jì)分成三個(gè)步驟:
●解析XML數(shù)據(jù)文件,讀取其中相關(guān)的信息;
●解析模板文件,找到要添加代碼的位置并添加代碼;
●根據(jù)需要,對(duì)已替換的模板進(jìn)行總體的調(diào)整。
例如引擎對(duì)用戶界面XML文件分析得知在窗口上設(shè)計(jì)了一個(gè)圖片,引擎將在程序模板的結(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é)束語(yǔ)
本文提出了一種基于XML模板的BREW代碼自動(dòng)生成技術(shù)。在本系統(tǒng)中,通過(guò)對(duì)BREW接口的封裝,為BRE
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 冠狀動(dòng)脈造影及支架植入術(shù)
- 2-6邏輯運(yùn)算的公式
- 原發(fā)性肝癌患者護(hù)理查房 2
- 上海市浦東新區(qū)浦東2025年招生伯樂(lè)馬模擬考試(三)生物試題含解析
- 山西財(cái)經(jīng)大學(xué)華商學(xué)院《中外設(shè)計(jì)史》2023-2024學(xué)年第二學(xué)期期末試卷
- 上海海關(guān)學(xué)院《數(shù)理統(tǒng)計(jì)理論與方法》2023-2024學(xué)年第一學(xué)期期末試卷
- 新疆伊寧市第七中學(xué)重點(diǎn)達(dá)標(biāo)名校2025年高中畢業(yè)班零診模擬考試英語(yǔ)試題含答案
- 山西警官職業(yè)學(xué)院《藥物分離工程》2023-2024學(xué)年第一學(xué)期期末試卷
- 九江理工職業(yè)學(xué)院《影視專業(yè)英語(yǔ)》2023-2024學(xué)年第一學(xué)期期末試卷
- 南京師范大學(xué)泰州學(xué)院《電氣安全》2023-2024學(xué)年第二學(xué)期期末試卷
- 安徽省示范高中皖北協(xié)作區(qū)2025屆高三下學(xué)期第27屆聯(lián)考(一模)數(shù)學(xué)試題 含解析
- 100MW山地光伏(漁光互補(bǔ))項(xiàng)目質(zhì)量驗(yàn)收范圍劃分表
- 行政管理??飘厴I(yè)論文-我國(guó)基層社會(huì)治理存在的問(wèn)題及對(duì)策
- 洗滌機(jī)械的裝配與調(diào)試技巧考核試卷
- 中考道德與法治一輪專題復(fù)習(xí)課件專題二十二 世界舞臺(tái)上的中國(guó)(含答案)
- 食品安全管理制度文本(完整版)餐飲
- 傳染病防控與報(bào)告課件
- 食堂食品衛(wèi)生管理領(lǐng)導(dǎo)小組及職責(zé)
- 2024-2025學(xué)年高中語(yǔ)文選擇性必修下冊(cè) 第2單元單元檢測(cè)(原卷版)
- 山東省青島市2025年高三年級(jí)第一次適應(yīng)性檢測(cè)(青島一模)(3.10-3.12)歷史試題卷
- 裝修工藝流程施工標(biāo)準(zhǔn)
評(píng)論
0/150
提交評(píng)論