基于代碼片段復(fù)用的安卓應(yīng)用組裝技術(shù)研究
【圖文】:
輯以及兩者的關(guān)聯(lián)關(guān)系。將界面元素和業(yè)務(wù)邏輯的實現(xiàn)代碼以代碼片段的形式提取出來,并保存在代碼庫中。開發(fā)人員依據(jù)結(jié)構(gòu)模型編寫配置文件對應(yīng)用模塊的界面和業(yè)務(wù)邏輯進行描述,然后使用代碼組裝工具對代碼片段進行組裝,生成安卓應(yīng)用框架代碼。開發(fā)人員在此基礎(chǔ)上完善核心代碼,最終得到可運行的安卓應(yīng)用。需要注意的是本文方法關(guān)注于安卓應(yīng)用中的特定模塊,即單個Activity所包含的界面和業(yè)務(wù)邏輯。并且生成的是應(yīng)用模塊的框架代碼,,具體的業(yè)務(wù)邏輯還需要開發(fā)人員手工實現(xiàn)。1.2安卓應(yīng)用結(jié)構(gòu)模型安卓應(yīng)用結(jié)構(gòu)模型如圖1所示。圖1安卓應(yīng)用結(jié)構(gòu)模型圖1中的安卓應(yīng)用結(jié)構(gòu)模型描述了應(yīng)用模塊中可能包含的界面元素和業(yè)務(wù)邏輯,以及兩者之間的關(guān)系。下面對結(jié)構(gòu)模型中的關(guān)鍵元素進行介紹:UI:界面元素的總稱。用name來唯一表示該元素,并且有一組屬性attrs集合用于對界面元素進行描述,map中第一個string表示屬性名,第二個string表示屬性值。界面元素又可以分為可見的界面元素和不可見的界面元素。InvisibleComponent:不可見的界面元素,是界面元素的容器,構(gòu)成模塊界面的框架。不可見的界面元素主要有Container。VisibleComponent:可見的界面元素。是界面中與用戶進行交互的基本單位。可見的界面元素要嵌入不可見的界面元素中才能展示出來,這符合安卓應(yīng)用開發(fā)的習慣。可見的界面元素包括Button(按鈕)、Input(輸入框)、List(列表)、GesturePass-word(手勢密碼)、EncryptInput(加密輸入框)、PhoneCode(手機驗證碼輸入框)、PicCode(圖片驗證碼輸入框)等。BusinessLogic:業(yè)務(wù)邏輯。負責處理用戶與界面元素的交互以及相關(guān)的業(yè)務(wù)。有StoreToLocal(存儲到本地)、ValidateInput(對輸入的內(nèi)容進行驗證)和ClickEvent(處理點擊事件)等。Dependen
對模塊實現(xiàn)的功能進行描述。Constraint:約束條件。對模塊中界面元素的組合嵌套規(guī)則進行描述,比如最基本的規(guī)則是可見的界面元素要嵌入容器中才能展示出來,具體的規(guī)則還要根據(jù)模塊所要實現(xiàn)功能的業(yè)務(wù)約束來制定。Configuration:配置文件。表示某一個模塊的具體實現(xiàn),反映出模塊的實現(xiàn)包含了哪些界面元素和業(yè)務(wù)邏輯,以及界面元素和業(yè)務(wù)邏輯之間的關(guān)聯(lián)。配置文件中activity和layout分別是需要生成的Activity和布局文件名稱,description是相關(guān)描述信息。1.3代碼組裝流程基于代碼片段復(fù)用的安卓應(yīng)用組裝流程示意如圖2所示。其中視圖代碼片段、業(yè)務(wù)代碼片段、代碼庫、配置文件分別對應(yīng)于安卓應(yīng)用結(jié)構(gòu)模型中的相應(yīng)元素。圖2代碼組裝流程示意圖
【相似文獻】
相關(guān)期刊論文 前10條
1 ;書摘[J];程序員;2002年03期
2 楊浪;張濤川;;代碼復(fù)用中的方法研究與應(yīng)用[J];電腦知識與技術(shù);2009年12期
3 魏峰;李銀鎖;;C#調(diào)用非托管代碼[J];電腦編程技巧與維護;2013年04期
4 簡勇;;團隊開發(fā)中的代碼復(fù)用淺談[J];常州信息職業(yè)技術(shù)學院學報;2007年01期
5 陳林博;江建慧;張丹青;;利用返回地址保護機制防御代碼復(fù)用類攻擊[J];計算機科學;2013年09期
6 郭穎;陳峰宏;周明輝;;大規(guī)模代碼克隆的檢測方法[J];計算機科學與探索;2014年04期
7 李天盟;劉鳳芹;;TML語言簡介[J];軟件;2013年11期
8 張藍博;張善從;陳蔚薇;;嵌入式系統(tǒng)中的代碼動態(tài)鏈接模型[J];計算機工程與設(shè)計;2008年16期
9 李葆華,霍有亮;適用于面向?qū)ο蠓缎偷拇a復(fù)用技術(shù)[J];西北大學學報(自然科學版);2000年01期
10 何淼;崔松健;;一種基于隨機文件的C#與非托管C代碼交互模式[J];信息化研究;2011年02期
相關(guān)博士學位論文 前1條
1 陳平;代碼復(fù)用攻擊與防御技術(shù)研究[D];南京大學;2012年
相關(guān)碩士學位論文 前7條
1 于浩;Android平臺JNI代碼單元測試方法研究[D];西南交通大學;2015年
2 莊軼;繞開細粒度地址隨機化的實時代碼復(fù)用攻擊框架[D];南京大學;2014年
3 朱曉倩;一種基于圖結(jié)構(gòu)的Java代碼存取方法[D];南京大學;2016年
4 劉超;基于動態(tài)二進制翻譯框架的代碼復(fù)用攻擊檢測與防御[D];湖南大學;2012年
5 李建忠;重復(fù)代碼檢測技術(shù)的研究[D];汕頭大學;2005年
6 邱慧風;基于關(guān)系復(fù)用的代碼構(gòu)建自動化的研究[D];南昌大學;2012年
7 周波;用代碼緩存復(fù)用技術(shù)提升Android即時編譯器效率[D];復(fù)旦大學;2012年
本文編號:2700199
本文鏈接:http://sikaile.net/kejilunwen/ruanjiangongchenglunwen/2700199.html