• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于應用描述的Android代碼自動生成

      2016-12-26 08:14:42江逸舟沈立煒趙文耘
      計算機應用與軟件 2016年11期
      關鍵詞:安卓代碼框架

      江逸舟 沈立煒 彭 鑫 趙文耘

      (復旦大學軟件學院 上海 201203)(上海市數(shù)據(jù)科學重點實驗室(復旦大學) 上海 201203)

      ?

      基于應用描述的Android代碼自動生成

      江逸舟 沈立煒 彭 鑫 趙文耘

      (復旦大學軟件學院 上海 201203)(上海市數(shù)據(jù)科學重點實驗室(復旦大學) 上海 201203)

      在移動開發(fā)領域,安卓應用的開發(fā)吸引著廣大移動終端廠商和開發(fā)者的加入。目前,開發(fā)者大多采用傳統(tǒng)的方式,基于集成開發(fā)環(huán)境為安卓應用的每一項組成部分進行設置或編碼,這些工作可能花費開發(fā)者較多的時間。然而,與應用框架相關的部分代碼與配置文件具有類似的模式,通過復用及定制的方式可以有效提高應用的整體開發(fā)效率。為了實現(xiàn)這一目標,提出一套借鑒MDA(Model-Driven Architecture)思想的方法,基于安卓應用的描述來完成安卓代碼框架部分的自動生成。該方法包括一種描述安卓應用基本元素及其關聯(lián)關系的元模型,以及一套可復用且支持定制的應用代碼模版?;谠P蜆藴实奶囟ò沧繎玫拿枋隹梢则寗踊谀0娴陌沧靠蚣艽a的自動生成。在該方法基礎上,開發(fā)Android應用框架自動生成工具,并以一個實例展示了方法與工具的可用性。

      Android 模型驅動架構 代碼自動生成 元模型

      0 引 言

      當前,智能終端的普及使得移動應用的需求量不斷增長。安卓作為免費、開源的手機平臺受到廣大開發(fā)人員及用戶的青睞。安卓應用開發(fā)者大多采用傳統(tǒng)的方式(由設計至編碼),基于集成開發(fā)環(huán)境(例如Eclipse、Android Studio、Visual Studio等)完成應用的開發(fā)工作。在這些工具中,開發(fā)者需要為安卓應用的每一項組成部分進行設置或編碼,包括應用界面的設計(編寫layout文件,或直接通過可視化開發(fā)方式進行設計)、核心配置文件的定義(填充Androidmanifest.xml文件)、組成應用的構件的開發(fā)(Activity、Service等代碼的編寫)、構件間跳轉關系的實現(xiàn)(Intent代碼的編寫)等。這些工作可能花費開發(fā)者較多的時間。然而,與應用框架相關的部分代碼與配置文件具有類似的模式,我們認為這部分的開發(fā)工作可以通過復用及定制的方式從而提高應用的開發(fā)效率。

      針對以上目標,本文提出一套借鑒MDA思想的方法,基于安卓應用的描述來完成安卓代碼框架部分的自動生成。MDA指首先建立抽象的、與具體技術無關的模型,隨后從抽象模型自動生成應用程序的過程[1]。遵循該過程,本文首先提出一種描述安卓應用的元模型,元模型定義了組成安卓應用的各類元素及其依賴關系。特定安卓應用的模型基于元模型標準,定義了應用的架構,包括名稱、屬性以及約束關系等。同時,本文方法還提出了一套應用代碼模版,其中內(nèi)嵌了與特定應用相關的可變、可定制的代碼部分。在描述應用的模型以及代碼模板的基礎上本方法涵蓋了從元模型所描述元素到代碼模版中可變部分的映射過程,支持通過代碼生成器自動生成安卓應用的框架,隨后開發(fā)者可將精力投入在應用業(yè)務邏輯的代碼編寫上。基于本方法,我們實現(xiàn)了安卓應用框架自動生成工具,工具采用GMF[2]圖形框架支持用戶以可視化的方式設計應用框架,Apache Freemarker[3]代碼生成器負責定制模版,生成應用代碼框架。

      1 相關工作

      近年來,針對基于MDA的代碼自動生成技術的研究主要包括UML模型的代碼自動生成、模型驅動的安卓界面(Graphical user interface)自動生成、基于DSL(Domain Specific Language)元模型以及采用BPMN模型的代碼自動生成。

      為了提高GUI的開發(fā)效率,Silva等[4-10]提出了面向安卓界面自動生成的模型。他們?yōu)榘沧繎玫目丶?、窗口、事件監(jiān)聽器等建立抽象模型,再將模型轉換為代碼,自動生成安卓應用界面的代碼。本文的研究重點在于創(chuàng)建描述安卓應用的模型,自動生成應用的代碼框架,而界面自動生成并非本文考慮的重點。本文僅通過配置實現(xiàn)了簡單的線性布局。

      在基于UML模型驅動的代碼自動生成方面,Parada等[11]采用了UML類圖和順序圖為安卓應用建立模型,并建立類圖與順序圖的對應關系,然后結合兩者自動生成安卓應用代碼框架。Kraemer等[12,13]采用UML活動圖描述安卓應用,將活動圖轉換為可執(zhí)行的狀態(tài)機,再自動生成安卓應用的代碼。由于安卓應用的領域特征,UML統(tǒng)一建模語言不能很好地描述安卓應用,因此本文采用了領域特定的元模型定義組成安卓應用的各類元素。

      在DSL的元模型的模型驅動技術方面,Lachga等[6-10]借鑒MDA思想,提出了DSL的建模語言,并開發(fā)了安卓界面代碼自動生成工具。Madari等[8]為應用的GUI和頁面跳轉做詳細設計,建立了應用整體與不同頁面的模型,再將頁面之間的跳轉通過CR模型(UML活動圖)聯(lián)系起來。本文的元模型定義了組成安卓應用的各類元素,如Activity、Service、BroadcastReceiver等,并通過描述應用的模型為安卓應用的框架建模。

      其他研究人員采用BPMN建模語言為應用建模,例如Solis-Martinez等采用BPMN建模語言來描述業(yè)務流程,然后生成跨平臺的應用[14,15]。模型通過XML格式定義流程模型,經(jīng)過一定步驟的配置后,實現(xiàn)了與平臺無關的應用(Android、IOS)。但他們并沒有對具體的應用開發(fā)做出詳細闡述,僅提出了平臺無關的模型。

      此外,一些知名公司開發(fā)了圖形化工具為開發(fā)人員帶來便利。例如,谷歌與MIT聯(lián)合開發(fā)的一款安卓快速開發(fā)工具App Inventor[16],該工具可以使用戶通過基于瀏覽器的工具開發(fā)手機應用。用戶可以方便地拖放代碼塊,通過mushup的方式將它們放在一起,產(chǎn)生一個應用程序。由于是由特定的模塊組成的,所以具有一定限制性。IBM公司的Rational Rhapsody[17]提供了用于安卓代碼框架生成的Eclipse插件,該工具采用UML類圖、順序圖為應用建模。但是,該工具的模型配置比較復雜,與代碼開發(fā)幾乎是一一對應的。相比而言,本文提出了領域特定的元模型,并通過描述應用的模型為安卓應用建模,建模過程更加簡單直觀。

      2 描述安卓應用框架的元模型

      2.1 元模型適用范圍

      由于安卓四大組件包括Activity、Service、BroadcastReceiver和Contentprovider[18],每種組件都具有自己的生命周期,承擔不同的職責。對于多數(shù)應用開發(fā)層的應用而言,都由以上四大組件構成,例如業(yè)務信息類應用、社交軟件、新聞應用等。本文提出的元模型將安卓組件設計為元模型的元素,可適用于多數(shù)安卓應用開發(fā)程序。而本文提出的元模型對于諸如框架開發(fā)類應用(基于安卓操作平臺做定制化開發(fā))、底層開發(fā)類(驅動開發(fā)、JNI)等尚不適用。具體來說,本文提出的元模型可適用于具有以下特征的應用:

      (1) 安卓應用包含許多Activity。Activity主要用于顯示界面、與用戶交互;應用需要實現(xiàn)導航功能,導航指Activity之間的跳轉。

      (2) 安卓應用需啟動后臺服務。Activity是安卓應用的主線程,為了保證用戶交互流暢,Service可以用于完成長時間執(zhí)行的后臺服務,例如下載文件、播放背景音樂等。

      (3) 安卓應用需要監(jiān)聽全局廣播。例如,應用需要監(jiān)聽系統(tǒng)廣播,如檢測WiFi、開機啟動、sms消息等。

      (4) 安卓應用需要實現(xiàn)組件間通信,我們可以通過綁定服務、動態(tài)廣播實現(xiàn)組件間的通信功能。

      2.2 元模型定義

      描述安卓應用的元模型定義了描述安卓應用框架的各個元素及其依賴關系,如圖1所示。

      圖1 描述安卓應用的元模型(類圖)

      表1給出了具體的元模型的定義,我們將元模型元素按照類別分為組件類、Widget類、事件監(jiān)聽器類、關聯(lián)類和權限類。

      表1 元模型定義表

      2.3 元模型依賴關系定義

      元模型的依賴關系主要分為以下五個方面:

      (1) Transition與EventListener、Intent依賴關系定義

      安卓應用組件之間的轉移是由事件驅動并由Intent負責傳遞消息,因此Transition與Intent、EventListener具有關聯(lián)關系。

      (2) Component轉移依賴關系定義

      我們把Component元素之間的依賴關系定義為Transition元素。Activity元素可以跳轉到多個其他的Activity;Activity可以啟動多個Service;Component元素可以向多個廣播發(fā)送通知。Transition必須設置好相應廣播的action屬性,否則廣播將接收不到通知。

      (3) Activity、Widget、EventListener依賴關系定義

      Activity可以包含多個Widget組件,所以Activity與Widget具有一對多的聚合關系。同樣,Widget組件可以觸發(fā)不同的事件,因此Widget與EventListener也具有一對多聚合關系。

      (4) Activity與BroadcastReceiver依賴關系定義

      動態(tài)廣播是安卓應用開發(fā)中實現(xiàn)跨進程通信的常用技術。在Activity中可以動態(tài)注冊BroadcastReceiver。Activity元素與動態(tài)的BroadcastReceiver元素具有一對多聚合關系。

      (5) Widget與相應的常用事件監(jiān)聽器依賴關系定義

      每種安卓控件都具有與常用事件監(jiān)聽器。

      3 基于模版的框架代碼生成

      3.1 基于Freemarker的代碼模板

      本文采用Freemarker模板引擎自動生成安卓應用的代碼模板。Freemarker遵循MVC(model view controller)模式,是一款輕量級的代碼生成引擎。Freemarker模板引擎的語法規(guī)則類似于腳本語言,本身也具有一些編程能力,例如條件判斷、循環(huán)嵌套、集合等概念類似于其他編程語言。例如,${}指令表示可以替換為某個變量的值,if/elseif/else表示條件判斷,list指令表示循環(huán)遍歷對象集合,include指令表示嵌套子模板等。本文按照Freemarker的語法規(guī)則定義了源代碼、布局、配置模板。其中,源代碼模板包含了Activity模板、Service模板、BroadcastReceiver模板。在這些模板中,還可以設置內(nèi)嵌子模板,例如控件模板、Intent模板、bindService模板等。圖2展示了上述模板和各個模板之間的依賴關系。

      圖2 模板類圖

      本文定義的模板類型非常多,由于篇幅的限制,我們僅展示了其中的一個模板。圖3展示了Activity模板,Activity模板主要用于生成Activity類的代碼框架,包括引入包、繼承Android.app.Activity類、重寫Activity的生命周期方法。同時,在onCreate方法中設置該Activity的布局文件、注冊動態(tài)廣播。在onDestory方法中,釋放綁定的Service,并且取消注冊動態(tài)廣播。圖中的高亮區(qū)域顯示了代碼模板的可變部分。Activity模板中可以包含多個widget、動態(tài)廣播,還可以綁定多個Service。我們將這部分可嵌套的模板定義為子模板,實現(xiàn)了模板之間的包含關系。例如,在onCreate方法中調用<#include "/Button.ftl">可以在Activity模板中嵌套Button模板。此外,在事件中還可以嵌套Intent模板從而實現(xiàn)Component元素之間的關聯(lián)關系。

      圖3 Activity模板

      3.2 基于描述模型的代碼模板定制

      在前文所提出的元模型與代碼模板的基礎上,我們按照以下轉換過程實現(xiàn)框架代碼的自動生成,如圖4所示。首先,創(chuàng)建基于元模型標準的描述應用的模型,得到模型的XML描述文件?;贔reemarker的模板規(guī)則定義一組代碼模板,包括安卓應用的源代碼、布局、配置文件、子模板等。接著,將XML描述文件和代碼模板作為代碼生成器的輸入。隨后,將描述應用的模型映射到代碼模板的可變部分,最后生成應用的代碼框架。

      圖4 描述應用的模型到應用代碼框架轉換圖

      其中,應用的源代碼是應用程序的主體,根據(jù)模型和代碼映射規(guī)則生成的源代碼包括用戶定制的Activity類、Service類、 BroadcastReceiver類。AndroidManifest.xml配置文件可以定義用戶所配置的版本,注冊Activity、Service、BroadcastReceiver、Permission等。Layout布局文件是安卓應用程序的界面。我們的工具會根據(jù)模型和屬性配置,自動為Activity生成相應的布局文件。 圖5展示了一個簡單的示例,形象地展示了從特定模型到模板中可變部分的映射過程。

      圖5 Activity綁定Service元模型與模板映射過程圖

      由于模型的XML定義文件是XML DOM樹形式的,我們引入了Dom4j API解析該模型的定義文件,遍歷讀取該定義文件中的各個節(jié)點、屬性。同時,為其中的節(jié)點建立了Java模型與之一一對應。通過遍歷該XML文件,可以得到模型所創(chuàng)建的所有節(jié)點。根據(jù)Node節(jié)點的類型分類,將每個Node節(jié)點獨立作為一個源文件的輸出。例如,XML文件中包含BroadcastReceiver元素,將它注入BroadcastReceiver對象,然后生成對應的java源文件。對于類型是Activity的元素,生成它所包含的組件、事件監(jiān)聽器、布局文件以及生命周期等。如果元素的類型是Service,那么根據(jù)他的啟動類型,判斷是否要綁定Service。對于BroadcastReceiver,判斷它是否是靜態(tài)等還是動態(tài)的。如果是靜態(tài)的廣播,那么需生成獨立的BroadcastReceiver文件,并在配置文件中注冊,否則在代碼中動態(tài)注冊。

      4 工具實現(xiàn)與實驗

      基于上述元模型,實現(xiàn)了Android應用框架自動生成工具。本節(jié)首先介紹了工具的架構設計。接著,我們使用該工具實現(xiàn)了一個具體的安卓應用“EBook”,并且展示了運行效果。

      4.1 Android應用框架自動生成工具

      Android應用框架自動生成工具的主要任務是開發(fā)一套能為安卓應用創(chuàng)建描述應用的模型的圖形編輯器和自動生成應用代碼框架的功能。工具架構主要分為五層,分別為Eclipse Platform、Platform Runtime、Tool Framework、工具層和應用層,如圖6所示。

      圖6 Android應用框架自動生成工具架構圖

      最底層的Eclipse Platform層代表Eclipse運行時環(huán)境。Eclipse是一個開源的平臺,可以使各種功能以插件的形式自由組裝的IDE,例如GMF、Draw2D、AndroidADT等。Android ADT[19]為開發(fā)安卓項目提供了運行時環(huán)境。工具框架層提供了圖形工具框架、Dom4j XML API、Android SDK所提供的API、代碼生成器。本文采用了Apache Freemarker代碼生成技術定制代碼模板,并且在運行時動態(tài)輸入數(shù)據(jù)模型自動生成不同的代碼。工具層包括了圖形編輯器,該圖形編輯器是在GMF的基礎上生成的,可以利用該編輯器創(chuàng)建描述安卓應用的模型。工具層還包括我們定義的代碼模板、元模型所描述元素到代碼模板中可變部分的映射過程、Android工程。我們首先通過EMF[20]創(chuàng)建描述應用的EMF元模型,為了使工具建模更加方便、形象,在元模型的基礎上加入了描述流程的節(jié)點如Process、Node、Start、End、Edge、Permissions。我們會在模型映射到代碼模板的定制過程中,從中提取出符合元模型定義的元素,再將模型轉換為最終的代碼。然后利用GMF圖形框架自動生成描述安卓應用的編輯器。隨后,按照Freemarker的模板語法規(guī)則定義好安卓應用的代碼框架、布局、配置文件。接著,將特定的模型與代碼模板的可變部分做映射,完成模型到代碼的轉換。工具架構圖的最上層是應用層,通過該工具,可以快速為安卓應用建模。

      4.2 實驗案例

      EBook是一個簡易的電子書應用,提供書籍列表、下載書籍、我的書籍、查看書籍內(nèi)容的功能。EBook的架構包括手機客戶端和服務器端。用戶可以在手機客戶端下載、翻閱電子書。服務器端則為客戶端提供書籍的下載。

      我們將使用Android應用框架自動生成工具生成應用的基本框架,再手動編寫具體的業(yè)務邏輯代碼以及服務器代碼等。應用包括三個界面BookListActivity、MyBookActivity、BookContentActivity。BookListActivity頁面提供許多未下載的書籍,通過列表的形式列出,用戶可以點擊列表中的書進行下載。進入MyBookActivity可以查看已下載的書籍列表。點擊已下載的書籍列表可以查看書籍的內(nèi)容和信息。

      4.3 實 驗

      實例應用需將BookListActivity設置為起始界面,在BookListActivity中實現(xiàn)Button、List、Menu、TextView以及動態(tài)廣播。然后,為Button、List加入點擊事件監(jiān)聽器。在點擊List時啟動一個后臺的DownLoadService來完成下載書籍的工作。下載完成之后發(fā)送Intent到動態(tài)廣播,告知用戶下載已完成。在點擊該Button之后跳轉到MyBookActivity界面。MyBookActivity包括一個TextView和一個List。List列出了所有已下載的書籍,點擊List可以進入第三個界面BookContentActivity。此外,我們還為實例應用添加了安卓應用的常用權限存儲卡訪問權限、震動權限、Internet訪問權限。存儲卡訪問權限用于保存、讀取已下載的書籍。Internet訪問權限主要用于下載書籍時訪問互聯(lián)網(wǎng)。震動權限用于發(fā)送消息給用戶時震動提示用戶下載完成。

      使用Android應用框架自動生成工具生成實例需要創(chuàng)建一個新的Android工程,并在工程目錄下創(chuàng)建應用的模型文件。然后拖拽右側工具欄的模型元素,定義應用的模型節(jié)點和關聯(lián)關系,例如設置組件之間的跳轉,以何種方式啟動Service,實現(xiàn)發(fā)送廣播等。隨后,在屬性視圖完成每個節(jié)點的屬性定義。最后,使用代碼自動生成功能將模型轉換為代碼,從而得到應用的代碼框架,如圖7所示。

      圖7 Android應用框架自動生成工具模型編輯界面

      在完成了上述配置后,通過代碼自動生成功能可以得到工具自動生成的應用代碼框架。我們在該框架的基礎上手動添加了業(yè)務邏輯代碼并且美化了界面。圖8顯示了EBook的運行效果,圖中展示了應用的界面,包括書籍列表、我的書籍、查看書籍內(nèi)容和版本信息界面。查看書籍內(nèi)容界面則顯示了某一本圖書的內(nèi)容。

      圖8 示例應用運行圖

      5 結 語

      本文借鑒MDA思想提出了描述應用的元模型。同時,我們定義了代碼框架模板并且提出了從元模型所描述元素到代碼模板中可變部分的映射方法?;诒疚奶岢龅脑P停瑢崿F(xiàn)了Android應用框架自動生成工具。該工具可以為安卓應用創(chuàng)建描述應用的模型,生成應用程序的框架,包括源代碼、配置文件、布局文件。實驗部分通過一個實例演示了Android應用框架自動生成工具的功能。通過實驗,體現(xiàn)了Android應用框架自動生成工具可以為開發(fā)人員快速構建應用模型,自動生成應用的代碼框架。在此框架的基礎上繼續(xù)開發(fā)能夠有效提高應用開發(fā)效率。

      在未來的工作中準備為元模型加入ContentProvider元素,使元模型更加完善。其次,本文將Widget與EventListener定義為抽象類型以便后續(xù)擴展。因此,可以為Android應用框架自動生成工具添加更多的控件使工具提供更強大的功能。

      [1] Kleppe A,Warmer J,Bast W.解析MDA[M].人民郵電出版社,2004.

      [2] The Eclipse Foundation.Graphical Modeling Project(GMP)[EB/OL].http://www.eclipse.org/modeling/gmp/.

      [3] The Apache Software Foundation.Apache Freemarker[EB/OL].http://fre-emarker.incubator.apache.org/.

      [4] Silva L P D,Fernando B E A.Model-Driven GUI Generation and Navigation for Android BIS Apps[C]//Model-Driven Engineering and Software Development (MODELSWARD),2014:400-407.

      [5] Sabraoui A,Koutbi M E,Khriss I.GUI code generation for Android applications using a MDA approach[C]//Morocco Complex Systems (ICCS),2012:1-6.

      [6] Lachgar M,Abdali A.Generating Android graphical user interfaces using an MDA approach[C]//Information Science and Technology (CIST),2014:80-85.

      [7] Sabraoui A,Koutbi M E,Khriss I.A MDA-Based Model-Driven Approach to Generate GUI for Mobile Applications[J].International Review on Computers & Software,2013,8(3):844-852.

      [8] Mannadiar R,Vangheluwe H.Modular Synthesis of Mobile Device Applications from Domain-Specific Models[C]//Automated Software Engineering(ASE),2010:21-28.

      [9] Madari I,Lengyel L,Levendovszky T.Modeling the User Interface of Mobile Devices with DSLs[C]//8th International Symposium of Hungarian Researchers on Computational Intelligence and Informatics,2007:583-589.

      [10] Lachgar M,Abdali A.Modeling and Generating the User Interface of Mobile Devices and Web Development with DSL[J].Journal of Theoretical and Applied Information Technology,2015,72(1):124-132.

      [11] Parada A G,Brisolara L B D.A Model Driven Approach for Android Applications Development[C]//Computing System Engineering (SBESC),2012:192-197.

      [12] Kraemer F A.Engineering Android Applications Based on UML Activities[M].Model Driven Engineering Languages and Systems,2011,6981:183-197.

      [13] Le Goaer O,Barbier F,Cariou E,et al.Android Executable Modeling:Beyond Android Programming[C]//Future Internet of Things and Cloud (FiCloud),2014:411-414.

      [14] Solis-Martinez J,Garcia-Menendez N,Bustelo C P G,et al.BPLOM:BPM Level-Oriented Methodology for Incremental Business Process Modeling and Code Generation on Mobile Platforms[J].International Journal of Interactive Multimedia and Artificial Intelligence,2013,2(2):13-27.

      [15] SolisMartinez J,Espada J P,GarciaMenendez N,et al.VGPM:Using Business Process Modeling for Videogame Modeling and Code Generation in Multiple Platforms[J].Computer Standards & Interfaces,2015,42:42-52.

      [16] AppInventor[EB/OL].http://code.google.com/p/app-invento r-releases/.

      [17] RationalRhapsody[EB/OL].http://www.ibm.com/ developerworks/cn/ra-tional/model-driven-development-speed-delivery/index.html.

      [18] Application Fundamentals Quickview[EB/OL].http://developer. android.com.

      [19] Android Development Tools(ADT) Plugin[EB/OL].http://web.mit.edu/hychenj/MacData/afs/sipb/project/android/docs/tools/sdk/eclipse-adt.html.

      [20] Eclipse Modeling Framework(EMF)[EB/OL].http://www.eclipse.rg/mo-deling/emf/o.

      ANDROID CODE AUTOMATIC GENERATION BASED ON APPLICATION DESCRIPTION

      Jiang Yizhou Shen Liwei Peng Xin Zhao Wenyun

      (SchoolofSoftwareEngineering,FudanUniversity,Shanghai201203,China)(ShanghaiKeyLaboratoryofDataScience,FudanUniversity,Shanghai201203,China)

      In the field of mobile development, Android application development has attracted many mobile manufacturers and developers. At present, most of the developers use a traditional way to code and configure for each part of the Android application based on the integrated development environments, which takes much time. However, part of the code and configuration files related to application framework may have a similar pattern, and software reuse and customizing can effectively improve the overall development efficiency of application. In order to achieve this goal, this paper puts forward a collection of method making reference to the thought of MDA (Model-Driven Architecture). Within this method, automatically generating android code framework is based on the description of the Android application. The method includes a meta-model which describes elements and associated relationships of Android applications as well as a set of reusable and customization supported code template. Based on the standard of the meta-model, description of a specific android application can drive the android framework to generate automatically based on the code template. Based on the method, this paper developed Android code framework automatic generation tool, and an example is carried out to show the availability of the method and tool.

      Android MDA(Model-Driven Architecture) Automatic code generation Meta-model

      2016-05-09。國家自然科學基金項目(61402113);國家高技術研究發(fā)展計劃項目(2013AA01A605)。江逸舟,碩士生,主研領域:軟件工程。沈立煒,副教授。彭鑫,教授。趙文耘,教授。

      TP311.5

      A

      10.3969/j.issn.1000-386x.2016.11.040

      猜你喜歡
      安卓代碼框架
      框架
      廣義框架的不相交性
      文物表情包
      創(chuàng)世代碼
      動漫星空(2018年11期)2018-10-26 02:24:02
      創(chuàng)世代碼
      動漫星空(2018年2期)2018-10-26 02:11:00
      創(chuàng)世代碼
      動漫星空(2018年9期)2018-10-26 01:16:48
      創(chuàng)世代碼
      動漫星空(2018年5期)2018-10-26 01:15:02
      WTO框架下
      法大研究生(2017年1期)2017-04-10 08:55:06
      一種基于安卓系統(tǒng)的手機側抓包分析方法
      一種基于OpenStack的云應用開發(fā)框架
      盐津县| 东安县| 静安区| 民县| 楚雄市| 当雄县| 唐山市| 深州市| 慈溪市| 无为县| 台前县| 曲麻莱县| 扎鲁特旗| 克山县| 乐亭县| 天津市| 嘉义县| 师宗县| 曲阳县| 花莲市| 岐山县| 仪陇县| 松滋市| 高州市| 盈江县| 商丘市| 武隆县| 定南县| 南宫市| 炉霍县| 安图县| 玉树县| 镇江市| 琼结县| 马鞍山市| 遂溪县| 拉萨市| 楚雄市| 昌都县| 邢台市| 陵水|