




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、 基于模板的BREW應用可視化界面設計及代碼生成 摘要:本文提出了一種基于模板技術的brew應用程序可視化用戶界面設計以及代碼自動生成的方法,從而改變了手工編寫brew應用的現(xiàn)狀。本系統(tǒng)為提供一個可視化的圖形界面設計工具,開發(fā)人員可以進行所見即所得的界面設計,同時根據(jù)用戶的設計生成xml文件,接下來利用該xml文件及brew程序框架模板自動生成應用代碼??梢暬慕缑嬖O計及自動代碼生成提高brew應用的開發(fā)效率。 關鍵詞:模板;自動代碼生成;可視化 1 引言 隨著時代的發(fā)展,手機用戶群體越來越大,人們對手機應用軟件的需求也隨之增大。2008年我國電信行業(yè)重組、以及3g牌照的發(fā)放,標志這3g時代的
2、到來。手機應用程序的開發(fā)面臨著更為巨大的市場??焖僮兓氖袌鲆箝_發(fā)人員能夠快速開發(fā)出豐富多彩的應用程序。以往brew應用程序的開發(fā)仍然處于手工編寫的狀態(tài)。當開發(fā)人員開發(fā)應用的界面部分時,需要在編輯環(huán)境中將代碼寫好,經過編譯鏈接后在模擬器中執(zhí)行以觀察界面實際效果,如若不滿意,需要再回來修改源代碼,如此反復,效率非常低下。 可視化的開發(fā)環(huán)境在目前已經較為普遍,但在brew應用開發(fā)中還屬空白。本文提出一個可視化用戶界面設計及基于模板的代碼自動生成的方法。在可視化的圖形用戶界面設計環(huán)境中,開發(fā)人員可以為自己的應用程序設定一個圖形手機屏幕進行界面設計。我們將brew中主要界面接口進行封裝,以界面元素控
3、件的形式提供給用戶。用戶可以通過鼠標拖拽將各種圖形界面元素控件添加到手機屏幕的相應位置,通過調整達到理想的效果,同時在該環(huán)境中對個控件的相關屬性進行設置,完成“所見即所得”的界面設計。lOCalHosT 在完成可視化的、所見即所得的界面設計后,系統(tǒng)根據(jù)用戶設計的結果生成一個xml文件。該xml文件記錄的用戶所設計界面的各種參數(shù)。接下來根據(jù)xml文件及brew應用程序模板文件自動生成brew應用框架代碼。用戶即開發(fā)人員可以在生成的代碼上進行進一步的完善,得到最優(yōu)的代碼。 2 系統(tǒng)總體設計 本系統(tǒng)包括一個可視化的用戶界面設計工具和一個代碼自動生成引擎。如圖1所示。 brew應用的代碼有其自身特點,
4、其代碼的自動生成是由代碼自動生成引擎根據(jù)brew應用程序框架模板文件和用于描述界面信息的xml文件進行的。其中brew應用程序框架模板文件是事先根據(jù)brew應用代碼的特點設計而成的xml文件;用戶通過使用一個可視化的用戶界面設計工具對用戶界面進行設計,該工具包括各種界面控件,用戶通過鼠標拖拽對界面布局進行設計并對空間屬性進行設置。該圖形設計工具最終生成一個xml文件,該文件描述了用戶界面的各種信息。 代碼自動生成引擎根據(jù)xml文件的信息在brew應用程序框架模板文件中搜索相應的標簽,并根據(jù)界面控件的屬性在模板文件中添加相應代碼,從而生成brew程序。 3 brew應用的可視化界面設計及代碼自動
5、生成 圖形界面控件的封裝及可視化設計環(huán)境 目前brew應用的用戶界面設計仍然是手工編寫代碼的方式,編程人員需要多次運行修改才能達到滿意的效果,效率十分低。 本文開發(fā)一個包含有界面設計環(huán)境及多種圖形界面控件的可視化界面設計工具。利用該工具,開發(fā)人員可以為自己的應用程序創(chuàng)建一個圖形手機屏幕,并可以通過鼠標拖拽將各種圖形界面元素添加到手機屏幕的相應位置,進行“所見即所得”的界面設計。 該工具實現(xiàn)的關鍵是將brew中相關接口進行抽象并封裝為圖形界面元素控件。例如將brew中的iimage接口封裝為圖片控件,將itextctl控件封裝為文本框控件等等。當用戶將該控件拖拽到屏幕區(qū)域并進行調整時,需要記錄下
6、該控件對應接口的各種表象屬性參數(shù),如x、y坐標,寬、高等。此外,對于控件對應接口的其他屬性需要用戶進行設置。 本系統(tǒng)中的可視化界面設計工具可以使人們從從繁瑣的界面設計編碼工作中解脫出來,從而將主要精力放在應用程序業(yè)務邏輯的設計與實現(xiàn)上,從而提高了開發(fā)效率。 用戶界面xml文件 可視化界面設計工具根據(jù)用戶的設計要生成一個xml文件,該文件記錄了程序界面的各種設計信息,是自動代碼生成中數(shù)據(jù)來源之一,代碼自動生成引擎根據(jù)該文件及程序模板生成最終代碼。在這里,用戶界面信息是以xml文件的格式保存用戶在向導中輸入的信息。之所以采用xml文件的格式保存用戶輸入的信息,是由xml文件的特點決定的。xml是被
7、設計用來存儲數(shù)據(jù)、攜帶數(shù)據(jù)和交換數(shù)據(jù),并且xml可以從多種類型的數(shù)據(jù)存儲方式中分離數(shù)據(jù)。 xml數(shù)據(jù)定義文件中的標簽名為待替換的參數(shù),也是模板文件中的特殊的標簽,標簽值為用戶輸入的信息,用于代替模板中的待替換的參數(shù)。 在本文中,用戶界面xml中定義了每一種界面元素的名稱、類型、所屬窗口、尺寸、坐標等等信息。例如: mainform form01 128 160 16 . pic1 pic01/pic/ 50 70 20 10 . 上例中定義了一個名為mainform的主界面窗口和一個名為pic1的圖片控件。主界面窗口大小為128*160,顏色深度為16位。圖片對應的文件時pic/,該圖片的大小
8、為50*70,位于主界面窗口上(20,10)的位置。圖片其中的標簽名,如formname, imagename, formcx, formcy, formcolordepth,imagefile等是模板中待替換的參數(shù),而標簽值,如mainform, userid,pic1,128,160,16,/pic/等用于代替模板中待替換的參數(shù)。 brew應用程序框架模板文件 模板描述文件可以理解成是一種解釋型文件,需要模板引擎解析執(zhí)行,執(zhí)行的結果輸出是程序源代碼文本。模板描述文件實現(xiàn)了代碼框架、數(shù)據(jù)和流程分離,而且支持模板塊嵌套。 brew應用程序框架模板文件包括aeeapplet結構體定義部分,入口函
9、數(shù)aeeclscreateinstance(),事件處理函數(shù)aeeapplet_handelevent(),初始化函數(shù)aeeapplet_initappdata(),和系統(tǒng)終了函數(shù)aeeapplet_freeappdata()四部分。 模板中入口函數(shù)aeeclscreateinstance()采用固定的格式和內容,一般不需要修改。事件處理函數(shù)aeeapplet_handelevent()包含evt_app_start、evt_app_stop、evt_app_suspend等小程序事件、按鍵事件evt_key、evt_command事件等的處理。這部分是brew應用的重要組成部分。初始化函數(shù)a
10、eeapplet_initappdata()主要完成應用的初始化,包括變量的初始化、接口實例的創(chuàng)建及初始化等;系統(tǒng)終了函數(shù)aeeapplet_freeappdata()主要完成接口實例的釋放,內存變量的釋放等。 brew應用代碼自動生成引擎 代碼自動生成引擎用于解析xml定義文件和讀取指定的模板文件,并將定義文件中解析得來的數(shù)據(jù)信息,在引擎中進行保存,然后對模板文檔中的標記及變量進行匹配及替換,從而產生源代碼輸出。根據(jù)上面的流程將引擎的設計分成三個步驟: 解析xml數(shù)據(jù)文件,讀取其中相關的信息; 解析模板文件,找到要添加代碼的位置并添加代碼; 根據(jù)需要,對已替換的模板進行總體的調整。 例如引擎
11、對用戶界面xml文件分析得知在窗口上設計了一個圖片,引擎將在程序模板的結構體初始化部分生成圖片實例指針的定義: iimage*piimage_pic1; 在初始化函數(shù)中生成圖片接口示例代碼: pme-piimage_pic1 = ishell_loadimage (pme-pishell, “/pic/”); 在事件處理函數(shù)的evt_app_start事件中生成加載圖片的代碼: iimage_draw(pme-piimage_pic1,picx,picy); 在終了函數(shù)中生成釋放圖片實例的代碼: if(pme-piimage_pic1 != null) iimage_release(pme-p
12、iimage_pic1); pme-piimage_pic1=null; 4 結束語 本文提出了一種基于xml模板的brew代碼自動生成技術。在本系統(tǒng)中,通過對brew接口的封裝,為brew手機應用開發(fā)提供一個可視化的設計環(huán)境。利用該系統(tǒng),開發(fā)人員可以進行“所見即所得”的應用程序界面設計,并根據(jù)brew程序框架模板生成相應的源代碼。該系統(tǒng)可使brew應用開發(fā)由過去的手工書寫源代碼變?yōu)榭梢暬O計、源代碼自動生成,促進brew應用開發(fā)的標準化和工業(yè)化,大幅度提高開發(fā)效率。 參考文獻 1 cdma digital cellular overview and field trials resultsj.ieee mtt-s international topical symposium,1995. 2attar r, ghosh d, lott c ,et al. evolution of cdma2000 cellular networks
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024廣西來賓市忻城文旅交通投資集團有限公司招聘1人筆試參考題庫附帶答案詳解
- 第17課《壺口瀑布》文本分析及教學設計-2023-2024學年統(tǒng)編版語文八年級下冊
- 第15課 貨幣的使用與世界貨幣體系的形成(課時教學設計)高二歷史同步備課系列(統(tǒng)編版選擇性必修一)
- 7-1《歸園田居》教學設計 2024-2025學年統(tǒng)編版高中語文必修上冊
- 第二章 第三節(jié) 第3課時長江的開發(fā)與治理教學設計-2024-2025學年人教版八年級地理上冊
- 2025年湖南九嶷職業(yè)技術學院單招職業(yè)適應性測試題庫學生專用
- 2024-2025學年高一語文開學第一課 教學設計
- 2024年12月中共漯河市委統(tǒng)戰(zhàn)部漯河市港澳臺僑和留學人員服務中心引進高層次人才1名筆試歷年典型考題(歷年真題考點)解題思路附帶答案詳解
- 2024年12月2025中國地質調查局局屬單位公開招聘507人(第一批)筆試歷年典型考題(歷年真題考點)解題思路附帶答案詳解
- 2024山東青島上合臨空控股發(fā)展集團有限公司社會招聘5人筆試參考題庫附帶答案詳解
- 2025年供應鏈管理公司合作項目協(xié)議書
- 2025年度度假村景觀設計及施工一體化合同
- 2025年山東化工職業(yè)學院高職單招職業(yè)技能測試近5年??及鎱⒖碱}庫含答案解析
- 《如何規(guī)劃養(yǎng)禽場》課件
- 2024-2025學年云南省昆明市盤龍區(qū)三年級(上)期末數(shù)學試卷(含答案)
- 物業(yè)公司行政人事部職責
- 醫(yī)療健康行業(yè)保密免責協(xié)議書
- 《設計思維與方法》課件
- 第一課走進人工智能 說課稿 2023-2024學年浙教版(2023)初中信息技術八年級下冊
- 健身行業(yè)會員權益保障及免責條款協(xié)議
- (正式版)HG∕T 21633-2024 玻璃鋼管和管件選用規(guī)定
評論
0/150
提交評論