国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      面向安卓移動(dòng)設(shè)備的程序自動(dòng)生成方法

      文檔序號:6631173閱讀:242來源:國知局
      面向安卓移動(dòng)設(shè)備的程序自動(dòng)生成方法
      【專利摘要】本發(fā)明公開了一種面向安卓移動(dòng)設(shè)備的程序自動(dòng)生成方法,目的是提供一種可通過快速簡便的可視化定制自動(dòng)生成所需要的安卓應(yīng)用程序的方法。技術(shù)方案是設(shè)計(jì)由安卓程序可視化定制器、安卓頁面解析器、安卓程序權(quán)限文件生成器、安卓Java代碼文件生成器、安卓項(xiàng)目生成器、安卓程序編譯部署器組成的程序自動(dòng)生成工具;安卓程序可視化定制器生成安卓頁面信息XML文件;安卓頁面解析器解析安卓頁面信息XML文件;安卓程序權(quán)限文件生成器、安卓Java代碼文件生成器、安卓布局XML文件生成器、安卓基類代碼文件生成器分別生成相應(yīng)文件;安卓項(xiàng)目生成器創(chuàng)建安卓項(xiàng)目;安卓程序編譯部署器編譯部署安卓程序到移動(dòng)設(shè)備。采用本發(fā)明可在分鐘級自動(dòng)生成程序。
      【專利說明】面向安卓移動(dòng)設(shè)備的程序自動(dòng)生成方法

      【技術(shù)領(lǐng)域】
      [0001] 本發(fā)明屬于移動(dòng)互聯(lián)網(wǎng)領(lǐng)域,涉及一種應(yīng)用程序自動(dòng)生成的方法,特別涉及一種 應(yīng)用于安卓(Android)移動(dòng)設(shè)備的應(yīng)用程序自動(dòng)生成的方法。

      【背景技術(shù)】
      [0002] 隨著移動(dòng)互聯(lián)網(wǎng)的發(fā)展,手機(jī)、平板電腦等移動(dòng)設(shè)備逐漸成為人們生活中不可或 缺的日常工具。同時(shí)移動(dòng)設(shè)備特有的移動(dòng)性和便捷性,使得大量PC平臺(tái)上已有的應(yīng)用和 信息采集等對便捷性要求很高的應(yīng)用開始出現(xiàn)在移動(dòng)設(shè)備上。但目前這類應(yīng)用的開發(fā)存 在三個(gè)方面的問題:1)應(yīng)用開發(fā)需要面向安卓等新的軟件平臺(tái)的專業(yè)人士,開發(fā)技術(shù)門檻 高;2)應(yīng)用開發(fā)按照傳統(tǒng)軟件開發(fā)流程,耗時(shí)過長;3)前兩個(gè)方面導(dǎo)致了應(yīng)用開發(fā)的成本 過高。因此,迫切需要一種面向移動(dòng)設(shè)備可自動(dòng)生成程序的方法,該方法需要支持直接轉(zhuǎn)換 已有程序,或者接收用戶的傻瓜式可視化定制后自動(dòng)生成應(yīng)用程序。
      [0003] 移動(dòng)設(shè)備程序與傳統(tǒng)PC程序的差別在于界面的布局、事件的響應(yīng)處理等方面,實(shí) 現(xiàn)上述程序自動(dòng)生成方法的難點(diǎn)在于兩個(gè)方面:1)輸入的讀取與解析。自動(dòng)化需要讀取已 有程序代碼,或者是獲取用戶可視化定制程序的信息,并將其解析為構(gòu)建安卓程序所需的 元素信息,具有一定難度。2)代碼的自動(dòng)轉(zhuǎn)換。如何將上述構(gòu)建安卓程序所需的元素信息, 自動(dòng)裝換并生成安卓代碼,需要研究代碼自動(dòng)生成技術(shù),具有一定的技術(shù)挑戰(zhàn)。
      [0004] 由于移動(dòng)設(shè)備普及時(shí)間短,以及上述面向移動(dòng)設(shè)備程序的自動(dòng)生成所存在的技術(shù) 難度,導(dǎo)致目前尚未出現(xiàn)相關(guān)的工具和方法。因此,如何基于當(dāng)前使用最為廣泛的安卓設(shè) 備,提供一種面向安卓移動(dòng)設(shè)備的程序自動(dòng)生成方法,減小移動(dòng)設(shè)備程序開發(fā)的時(shí)間和成 本,成為本領(lǐng)域技術(shù)人員極為關(guān)注的技術(shù)問題。


      【發(fā)明內(nèi)容】

      [0005] 本發(fā)明要解決的技術(shù)問題是:提供一種面向安卓移動(dòng)設(shè)備的程序自動(dòng)生成方法, 可使用戶通過快速簡便的可視化定制,自動(dòng)生成所需要的安卓應(yīng)用程序。
      [0006] 第一步,設(shè)計(jì)一種面向安卓移動(dòng)設(shè)備的程序自動(dòng)生成工具,包括:安卓程序可視化 定制器、安卓頁面解析器、安卓程序權(quán)限文件生成器、安卓Java代碼文件生成器、安卓項(xiàng)目 生成器、安卓程序編譯部署器。
      [0007] 安卓程序可視化定制器是用于定制安卓程序的功能和界面的軟件模塊,它供用戶 按照需求,以鼠標(biāo)拖拽控件和鍵盤輸入的方式,或者通過讀取已有程序內(nèi)容的方式,定制一 組頁面(一個(gè)滿屏顯示的內(nèi)容稱為一個(gè)頁面),每個(gè)頁面包含可輸入信息的各類控件:文本 控件、數(shù)值控件、時(shí)間控件、單選控件、多選控件、下拉框控件、拍照控件、錄像控件、錄音控 件、GPS控件等,定制完成后生成一個(gè)包含上述一組頁面信息的XML文件,并將包含這組頁 面信息的XML文件傳送給安卓頁面解析器。
      [0008] 安卓頁面解析器是負(fù)責(zé)解析包含頁面信息的XML文件的軟件模塊。它解析包含頁 面信息的XML文件,獲得頁面、頁面數(shù)量K、各個(gè)頁面所包含的控件及其類型、布局位置、各 類型控件相關(guān)屬性,并將解析所得信息傳送給安卓程序權(quán)限文件生成器、安卓Java代碼文 件生成器、安卓布局XML文件生成器和安卓基類代碼文件生成器。
      [0009] 安卓程序權(quán)限文件生成器是依據(jù)安卓頁面解析器的輸出信息生成安卓程序權(quán)限 文件的軟件模塊。該模塊從安卓頁面解析器處獲得所有頁面中的所有控件類型,然后求取 所有控件類型的并集,依據(jù)所有控件類型的并集中每個(gè)控件類型所對應(yīng)的權(quán)限需求,將所 有權(quán)限需求合并后產(chǎn)生程序所需的權(quán)限,最后生成安卓程序權(quán)限文件(即Google開源安卓 項(xiàng)目中規(guī)定的權(quán)限文件),并將該安卓程序權(quán)限文件傳送給安卓項(xiàng)目生成器。
      [0010] 安卓Java代碼文件生成器是依據(jù)安卓頁面解析器的輸出信息生成安卓Java代碼 文件的軟件模塊。該模塊依據(jù)解析器的輸出信息中頁面及其所包含的控件信息,為每個(gè)頁 面生成一個(gè)Java代碼文件,并將所有Java代碼文件傳送給安卓項(xiàng)目生成器。
      [0011] 安卓布局XML文件生成器是依據(jù)安卓頁面解析器的輸出信息生成安卓布局XML文 件的軟件模塊。該模塊依據(jù)安卓頁面解析器的輸出信息中頁面及其所包含的控件信息,為 每個(gè)頁面生成一個(gè)頁面布局XML文件,并將所有頁面布局XML文件傳送給安卓項(xiàng)目生成器。
      [0012] 安卓基類代碼文件生成器是依據(jù)安卓頁面解析器的輸出信息生成安卓基類代碼 文件的軟件模塊。該模塊依據(jù)安卓頁面解析器的輸出信息提供支持各種類型控件的頁面基 類代碼文件(指實(shí)現(xiàn)包括各種類型控件的響應(yīng)函數(shù)代碼、控件值顯示和數(shù)據(jù)庫訪問等功能 的Java公共父類代碼文件),并將頁面基類代碼文件傳送給安卓項(xiàng)目生成器。
      [0013] 安卓項(xiàng)目生成器是負(fù)責(zé)創(chuàng)建完整安卓項(xiàng)目的軟件模塊。該模塊創(chuàng)建符合安卓項(xiàng)目 格式的文件夾,并接收安卓程序權(quán)限文件生成器、安卓Java代碼文件生成器、安卓布局XML 文件生成器和安卓基類代碼文件生成器的輸出文件,按照安卓項(xiàng)目的編譯要求,形成完整 的安卓項(xiàng)目,最后將安卓項(xiàng)目送給安卓編譯部署器。
      [0014] 安卓程序編譯部署器是負(fù)責(zé)編譯安卓項(xiàng)目并將其部署到移動(dòng)設(shè)備的軟件模塊。該 模塊通過安卓編譯命令(即Google開源安卓項(xiàng)目中提供的apkbuilder命令)將完整的安 卓項(xiàng)目編譯生成為安卓應(yīng)用程序apk文件(即Google開源安卓項(xiàng)目中標(biāo)準(zhǔn)的應(yīng)用程序文 件),并通過部署命令(即Google開源安卓項(xiàng)目中提供的adbpush命令)將apk文件安裝 部署到移動(dòng)設(shè)備上。
      [0015] 第二步,安卓程序可視化定制器生成安卓頁面信息XML文件。安卓程序可視化定 制器從鼠標(biāo)和鍵盤接收輸入(通過鼠標(biāo)點(diǎn)擊或拖拽增加頁面及頁面中的控件,通過鍵盤輸 入確定頁面名稱、控件名稱、控件取值類型和范圍等),或者讀取其它操作系統(tǒng)已有程序內(nèi) 容,確定信息頁面的數(shù)量、頁面內(nèi)控件的類型和數(shù)量,頁面的名稱屬性,以及頁面內(nèi)控件的 名稱、取值范圍、列表選項(xiàng)屬性,然后依據(jù)上述信息為每個(gè)頁面創(chuàng)建一個(gè)安卓頁面信息XML 文件,并將所有安卓頁面信息XML文件送給安卓頁面解析器。
      [0016] 第三步,安卓頁面解析器解析安卓頁面信息XML文件。安卓頁面解析器讀入來 自安卓程序可視化定制器生成的安卓頁面信息XML文件,通過XML解析器(如開源組織 Apache的Xerces解析器)解析安卓頁面信息XML文件,得到頁面總數(shù)K,以及每個(gè)頁面 PiQ<i<K)中的控件數(shù)目Li,然后進(jìn)一步對頁面Pi進(jìn)行解析,獲得獲得Pi的權(quán)限信息、 控件類型及屬性信息和布局信息,并將這些信息同時(shí)發(fā)送給安卓程序權(quán)限文件生成器、安 卓Java代碼文件生成器、安卓布局XML文件生成器和安卓基類代碼文件生成器。
      [0017] 第四步,安卓程序權(quán)限文件生成器生成安卓程序權(quán)限文件,安卓Java代碼文件生 成器生成安卓Java代碼文件,安卓布局XML文件生成器生成安卓XML布局文件,安卓基類 代碼文件生成器生成安卓基類代碼文件,這4種文件并行生成,并都發(fā)送給安卓項(xiàng)目生成 器。
      [0018] 4. 1安卓程序權(quán)限文件生成器生成安卓程序權(quán)限文件的方法是:
      [0019] 安卓程序權(quán)限文件生成器從安卓頁面解析器接收每個(gè)頁面的權(quán)限信息,對每個(gè)頁 面的權(quán)限信息取并集后,形成整個(gè)安卓程序的權(quán)限信息,并按照安卓項(xiàng)目標(biāo)準(zhǔn)的權(quán)限文件 的格式(Google開源安卓項(xiàng)目約定的)生成安卓程序權(quán)限文件,最后發(fā)送給安卓項(xiàng)目生成 器。
      [0020] 4. 2安卓Java代碼文件生成器生成安卓Java代碼文件的方法是:
      [0021] 安卓Java代碼文件生成器從安卓頁面解析器接收每個(gè)頁面的控件信息,采用文 本模板代碼自動(dòng)生成技術(shù)(如開源Java模板引擎FreeMaker),針對每個(gè)頁面,依據(jù)Java語 法,創(chuàng)建一個(gè)安卓Activity類,并為每個(gè)控件創(chuàng)建一個(gè)與其類型匹配的成員變量,生成該 變量的初始化代碼、事件響應(yīng)函數(shù)、數(shù)據(jù)緩存函數(shù)、數(shù)據(jù)存儲(chǔ)函數(shù)代碼,最終為每個(gè)頁面生 成一個(gè)安卓Java代碼文件,將所有安卓Java代碼文件發(fā)送給安卓項(xiàng)目生成器。
      [0022] 4. 3安卓布局XML文件生成器生成安卓XML布局文件的方法是:
      [0023] 安卓布局XML文件生成器從安卓頁面解析器接收每個(gè)頁面的布局信息,采用文本 模板技術(shù)(如微軟的T4文本模板技術(shù)),針對每個(gè)頁面,依據(jù)安卓XML布局文件的語法,為 每個(gè)控件創(chuàng)建一個(gè)對應(yīng)類型的安卓布局資源對象,生成該資源對象的編號、長度、位置屬性 代碼,最終為每個(gè)頁面生成一個(gè)XML布局文件,并將所有XML布局文件發(fā)送給安卓項(xiàng)目生成 器。
      [0024] 4. 4安卓基類代碼文件生成器生成安卓基類代碼文件的方法是:
      [0025] 安卓基類代碼文件生成器從安卓頁面解析器接收每個(gè)頁面的控件信息,首先通過 合并同類控件的方式得到所有頁面所包含的控件類型的并集,然后采用文本模板技術(shù),依 據(jù)Java語法,倉Il建一個(gè)公共的安卓基類Activity,并生成各個(gè)類型控件的初始化函數(shù)、事 件響應(yīng)函數(shù)、公共基類成員變量的代碼,最終形成安卓基類代碼文件,并將該安卓基類代碼 文件發(fā)送給安卓項(xiàng)目生成器。
      [0026] 第五步,創(chuàng)建安卓項(xiàng)目。
      [0027] 安卓項(xiàng)目生成器依據(jù)安卓項(xiàng)目所需的標(biāo)準(zhǔn)文件夾結(jié)構(gòu),創(chuàng)建項(xiàng)目根文件夾、src文 件夾、res文件夾、gen文件夾,并將從安卓程序權(quán)限文件生成器接收的安卓程序權(quán)限文件 拷貝至根文件夾,將從安卓Java代碼文件生成器接收的安卓Java代碼文件拷貝至src文 件夾,將從安卓布局XML文件生成器接收的安卓XML布局文件拷貝至res文件夾,將從安卓 基類代碼文件生成器接收的安卓基類代碼文件拷貝至src文件夾,形成完整的安卓項(xiàng)目, 并將完整的安卓項(xiàng)目發(fā)送給安卓程序編譯部署器。
      [0028] 第六步,編譯部署安卓程序到移動(dòng)設(shè)備。
      [0029] 6. 1安卓程序編譯部署器從安卓項(xiàng)目生成器接收完整的安卓項(xiàng)目;
      [0030] 6. 2使用安卓軟件開發(fā)包提供的aapt程序生成R.java類文件,使用Java編譯器 編譯所有java文件,使用安卓軟件開發(fā)包提供的dx.bat命令生成classes,dex文件;
      [0031] 6. 3使用aapt程序生成資源包文件及未簽名的安卓程序安裝文件;
      [0032]6. 4使用Java開發(fā)包的jarsigner程序?qū)ξ春灻陌沧砍绦虬惭b文件進(jìn)行簽名后 生成安卓程序;
      [0033] 6. 5使用安卓軟件開發(fā)包提供的apkbuilder和adbpush命令命令將安卓程序部 署到移動(dòng)設(shè)備。
      [0034]與現(xiàn)有技術(shù)相比,采用本發(fā)明可達(dá)到以下技術(shù)效果:
      [0035] 1)安卓程序可視化定制器因具備所見即所得的特點(diǎn),使安卓程序的設(shè)計(jì)者可隨時(shí) 按需定制,并在分鐘級完成程序的自動(dòng)生成,方便設(shè)計(jì)者不斷改進(jìn)設(shè)計(jì),極大優(yōu)化了程序設(shè) 計(jì)過程,提高了開發(fā)效率。
      [0036] 2)本發(fā)明的第二至第六步,使得整個(gè)程序的開發(fā)過程只包含設(shè)計(jì)者的可視化設(shè)計(jì) 時(shí)間,無需額外的程序員的參與,所以整個(gè)程序的開發(fā)成本降低為一次性購買該安卓程序 自動(dòng)生成工具的成本,而開發(fā)測試時(shí)間縮短為〇,極大提高了程序的開發(fā)效率和質(zhì)量。
      [0037]3)所生成的安卓程序,因?yàn)槊總€(gè)控件的類型和屬性定義可有效約束最終使用者錄 入現(xiàn)場信息的格式、范圍,所以在信息采集等類應(yīng)用中,可有效減少信息采集的出錯(cuò)率,提 高信息采集的質(zhì)量,同時(shí)能提供圖片、音頻、視頻、GPS等豐富的信息類型,極大提升了信息 的豐富程度和自動(dòng)化采集程度。

      【專利附圖】

      【附圖說明】
      [0038] 圖1是本發(fā)明面向安卓移動(dòng)設(shè)備的程序自動(dòng)生成方法的總體流程圖;
      [0039] 圖2是本發(fā)明第一步構(gòu)建的面向安卓移動(dòng)設(shè)備的程序自動(dòng)生成工具的結(jié)構(gòu)示意 圖。 具體實(shí)施方案
      [0040]以下結(jié)合附圖,具體說明本發(fā)明。
      [0041]本發(fā)明公開了一種面向安卓移動(dòng)設(shè)備的程序自動(dòng)生成方法,圖1為其流程圖,它 包括:
      [0042]第一步,設(shè)計(jì)一種面向安卓移動(dòng)設(shè)備的程序自動(dòng)生成工具,包括:安卓程序可視化 定制器、安卓頁面解析器、安卓程序權(quán)限文件生成器、安卓Java代碼文件生成器、安卓項(xiàng)目 生成器、安卓程序編譯部署器。具體結(jié)構(gòu)如圖2所示。
      [0043]安卓程序可視化定制器是用于定制安卓程序的功能和界面的軟件模塊,它供用戶 按照需求,以鼠標(biāo)拖拽控件和鍵盤輸入的方式,或者通過讀取已有程序內(nèi)容的方式,定制一 組頁面(一個(gè)滿屏顯示的內(nèi)容稱為一個(gè)頁面),每個(gè)頁面包含可輸入信息的各類控件:文本 控件、數(shù)值控件、時(shí)間控件、單選控件、多選控件、下拉框控件、拍照控件、錄像控件、錄音控 件、GPS控件等,定制完成后生成一個(gè)包含上述一組頁面信息的XML文件,并將包含該XML文 件傳送給安卓頁面解析器。
      [0044]安卓頁面解析器是負(fù)責(zé)解析包含頁面信息的XML文件的軟件模塊。它將解析包含 頁面信息的XML文件,獲得頁面數(shù)量K、各個(gè)頁面所包含的控件及其類型、布局位置、各類型 控件相關(guān)屬性,并將解析所得信息傳送給安卓程序權(quán)限文件生成器、安卓Java代碼文件生 成器、安卓布局XML文件生成器和安卓基類代碼文件生成器。
      [0045]安卓程序權(quán)限文件生成器是依據(jù)安卓頁面解析器的輸出信息生成安卓程序權(quán)限 文件的軟件模塊。該模塊從安卓頁面解析器處獲得所有頁面中的所有控件類型,然后求取 所有控件類型的并集,依據(jù)所有控件類型的并集中每個(gè)控件類型所對應(yīng)的權(quán)限需求,將所 有權(quán)限需求合并后產(chǎn)生程序所需的權(quán)限,生成安卓程序權(quán)限文件,并將該權(quán)限文件傳送給 安卓項(xiàng)目生成器。
      [0046] 安卓Java代碼文件生成器是依據(jù)安卓頁面解析器的輸出信息生成安卓Java代碼 文件的軟件模塊。該模塊依據(jù)解析器的輸出信息中頁面及其所包含的控件信息,為每個(gè)頁 面生成一個(gè)Java代碼文件,并將所有Java代碼文件傳送給安卓項(xiàng)目生成器。
      [0047] 安卓布局XML文件生成器是依據(jù)安卓頁面解析器的輸出信息生成安卓布局XML文 件的軟件模塊。該模塊依據(jù)解析器的輸出信息中頁面及其所包含的控件信息,為每個(gè)頁面 生成一個(gè)頁面布局XML文件,并將所有頁面布局XML文件傳送給安卓項(xiàng)目生成器。
      [0048]安卓基類代碼文件生成器是依據(jù)安卓頁面解析器的輸出信息生成安卓基類代碼 文件的軟件模塊。該模塊依據(jù)解析器的輸出信息提供支持各種類型控件的頁面基類代碼文 件,包括各種類型控件的響應(yīng)函數(shù)代碼、控件值顯示和數(shù)據(jù)庫訪問代碼,并將安卓基類代碼 文件傳送給安卓項(xiàng)目生成器。
      [0049]安卓項(xiàng)目生成器是負(fù)責(zé)創(chuàng)建完整安卓項(xiàng)目的軟件模塊。該模塊創(chuàng)建符合安卓項(xiàng)目 格式的文件夾,并將接收安卓程序權(quán)限文件生成器、安卓Java代碼文件生成器、安卓布局 XML文件生成器和安卓基類代碼文件生成器的輸出文件,按照安卓項(xiàng)目的編譯要求,形成完 整的安卓項(xiàng)目,最后將安卓項(xiàng)目送給安卓編譯部署器。
      [0050] 安卓程序編譯部署器是負(fù)責(zé)編譯安卓項(xiàng)目并將其部署到移動(dòng)設(shè)備的軟件模塊。該 模塊通過安卓編譯命令將完整的安卓項(xiàng)目編譯生成為安卓應(yīng)用程序apk文件,并通過部署 命令將apk文件安裝部署到移動(dòng)設(shè)備上。
      [0051] 第二步,安卓程序可視化定制器生成安卓頁面信息XML文件。安卓程序可視化 定制器首先接收來自鼠標(biāo)和鍵盤的輸入,或者讀取其它操作系統(tǒng)已有程序內(nèi)容的方式,確 定信息頁面的數(shù)量、頁面內(nèi)控件的類型和數(shù)量,信息頁面的名稱屬性,以及頁面內(nèi)控件的名 稱、取值范圍、列表選項(xiàng)屬性,然后依據(jù)上述信息為每個(gè)頁面創(chuàng)建一個(gè)安卓頁面信息XML文 件,并將所有安卓頁面信息XML文件送給安卓頁面解析器。具體進(jìn)一步包括以下步驟:
      [0052] 2. 1確定頁面和控件:
      [0053] 2. I. 1由鍵盤輸入獲得頁面總數(shù)K,創(chuàng)建K個(gè)空白頁面PiQ彡i彡K),所創(chuàng)建的頁 面位于安卓程序可視化定制器左側(cè)頁面列表區(qū);
      [0054] 2. 1. 2針對每個(gè)頁面,通過鼠標(biāo)從可視化定制器右側(cè)控件列表區(qū)中依次選擇一種 控件,放入可視化定制器中間的頁面顯示區(qū)中,例如可選擇文本控件、數(shù)值控件、時(shí)間控件、 單選控件、多選控件、下拉框控件、拍照控件、錄像控件、錄音控件、GPS控件;
      [0055] 2. 1. 3對每個(gè)控件,通過鼠標(biāo)雙擊控件,設(shè)置該控件相關(guān)的屬性,例如對文本控件, 可設(shè)置控件名稱、文本長度范圍、文本內(nèi)容格式等,對下拉框控件,可設(shè)置下拉選項(xiàng)列表項(xiàng) 目,比如維修類型下拉框,可設(shè)置為"大修"、"中修"、"小修"等列表項(xiàng)目。在該設(shè)計(jì)過程中, 還可通過鼠標(biāo)選擇設(shè)置要部署的移動(dòng)設(shè)備屏幕大小規(guī)格來查看頁面實(shí)際顯示效果,從而獲 得所見即所得的良好用戶體驗(yàn)。
      [0056] 2. 2生成安卓頁面信息XML文件。將所有頁面及其控件的信息,存儲(chǔ)到一個(gè)頁面 信息XML文件pages, xml中。pages, xml根兀素為Pages, Pages包含多個(gè)頁面兀素Page, Page包含多個(gè)控件元素Control,每個(gè)Control包含類型相關(guān)的屬性信息。頁面信息XML 文件pages,xml示例如下:

      【權(quán)利要求】
      1. 一種面向安卓移動(dòng)設(shè)備的程序自動(dòng)生成方法,其特征在于包括以下步驟: 第一步,設(shè)計(jì)一種面向安卓移動(dòng)設(shè)備的程序自動(dòng)生成工具,包括:安卓程序可視化定制 器、安卓頁面解析器、安卓程序權(quán)限文件生成器、安卓Java代碼文件生成器、安卓項(xiàng)目生成 器、安卓程序編譯部署器; 安卓程序可視化定制器是用于定制安卓程序的功能和界面的軟件模塊,它供用戶按照 需求,以鼠標(biāo)拖拽控件和鍵盤輸入的方式,或者通過讀取已有程序內(nèi)容的方式,定制一組頁 面,每個(gè)頁面包含可輸入信息的各類控件,定制完成后生成一個(gè)包含一組頁面信息的XML 文件,并將包含頁面信息的該XML文件傳送給安卓頁面解析器;所述一個(gè)頁面指一個(gè)滿屏 顯示的內(nèi)容; 安卓頁面解析器是負(fù)責(zé)解析包含頁面信息的XML文件的軟件模塊;它解析包含頁面信 息的XML文件,獲得頁面、頁面數(shù)量K、各個(gè)頁面所包含的控件及其類型、布局位置、各類型 控件相關(guān)屬性,并將解析所得信息傳送給安卓程序權(quán)限文件生成器、安卓Java代碼文件生 成器、安卓布局XML文件生成器和安卓基類代碼文件生成器; 安卓程序權(quán)限文件生成器是依據(jù)安卓頁面解析器的輸出信息生成安卓程序權(quán)限文件 的軟件模塊;該模塊從安卓頁面解析器處獲得所有頁面中的所有控件類型,求取所有控件 類型的并集,依據(jù)所有控件類型的并集中每個(gè)控件類型所對應(yīng)的權(quán)限需求,將所有權(quán)限需 求合并后產(chǎn)生程序所需的權(quán)限,生成安卓程序權(quán)限文件,并將該安卓程序權(quán)限文件傳送給 安卓項(xiàng)目生成器; 安卓Java代碼文件生成器是依據(jù)安卓頁面解析器的輸出信息生成安卓Java代碼文件 的軟件模塊;該模塊依據(jù)安卓頁面解析器的輸出信息中頁面及其所包含的控件信息,為每 個(gè)頁面生成一個(gè)Java代碼文件,并將所有Java代碼文件傳送給安卓項(xiàng)目生成器; 安卓布局XML文件生成器是依據(jù)安卓頁面解析器的輸出信息生成安卓布局XML文件的 軟件模塊;該模塊依據(jù)安卓頁面解析器的輸出信息中頁面及其所包含的控件信息,為每個(gè) 頁面生成一個(gè)頁面布局XML文件,并將所有頁面布局XML文件傳送給安卓項(xiàng)目生成器; 安卓基類代碼文件生成器是依據(jù)安卓頁面解析器的輸出信息生成安卓基類代碼文件 的軟件模塊;該模塊依據(jù)安卓頁面解析器的輸出信息提供支持各種類型控件的頁面基類代 碼文件,包括各種類型控件的響應(yīng)函數(shù)代碼、控件值顯示和數(shù)據(jù)庫訪問代碼,并將頁面基類 代碼文件傳送給安卓項(xiàng)目生成器; 安卓項(xiàng)目生成器是負(fù)責(zé)創(chuàng)建完整安卓項(xiàng)目的軟件模塊;該模塊創(chuàng)建符合安卓項(xiàng)目格式 的文件夾,并接收安卓程序權(quán)限文件生成器、安卓Java代碼文件生成器、安卓布局XML文件 生成器和安卓基類代碼文件生成器的輸出文件,按照安卓項(xiàng)目的編譯要求,形成完整的安 卓項(xiàng)目,最后將安卓項(xiàng)目送給安卓編譯部署器; 安卓程序編譯部署器是負(fù)責(zé)編譯安卓項(xiàng)目并將其部署到移動(dòng)設(shè)備的軟件模塊;該模塊 通過安卓編譯命令將完整的安卓項(xiàng)目編譯生成為安卓應(yīng)用程序apk文件,并通過部署命令 將apk文件安裝部署到移動(dòng)設(shè)備上;所述apk文件指Google開源安卓項(xiàng)目中標(biāo)準(zhǔn)的應(yīng)用程 序文件; 第二步,安卓程序可視化定制器生成安卓頁面信息XML文件;安卓程序可視化定制器 從鼠標(biāo)和鍵盤接收輸入,或者讀取其它操作系統(tǒng)已有程序內(nèi)容,確定信息頁面的數(shù)量、頁面 內(nèi)控件的類型和數(shù)量,頁面的名稱屬性,以及頁面內(nèi)控件的名稱、取值范圍、列表選項(xiàng)屬性, 然后依據(jù)上述信息為每個(gè)頁面創(chuàng)建一個(gè)安卓頁面信息XML文件,并將所有安卓頁面信息 XML文件送給安卓頁面解析器; 第三步,安卓頁面解析器解析安卓頁面信息XML文件;安卓頁面解析器讀入來自安卓 程序可視化定制器生成的安卓頁面信息XML文件,通過XML解析器解析安卓頁面信息XML 文件,獲得頁面總數(shù)K,以及每個(gè)頁面Pi中的控件數(shù)目Li,I < i < K,然后進(jìn)一步獲得Pi的權(quán) 限信息、控件類型及屬性信息和布局信息,并將這些信息同時(shí)發(fā)送給安卓程序權(quán)限文件生 成器、安卓Java代碼文件生成器、安卓布局XML文件生成器和安卓基類代碼文件生成器; 第四步,安卓程序權(quán)限文件生成器生成安卓程序權(quán)限文件,安卓Java代碼文件生成器 生成安卓Java代碼文件,安卓布局XML文件生成器生成安卓XML布局文件,安卓基類代碼 文件生成器生成安卓基類代碼文件,這4種文件并行生成,并都發(fā)送給安卓項(xiàng)目生成器: 4. 1安卓程序權(quán)限文件生成器生成安卓程序權(quán)限文件的方法是: 安卓程序權(quán)限文件生成器從安卓頁面解析器接收每個(gè)頁面的權(quán)限信息,對每個(gè)頁面的 權(quán)限信息取并集后,形成整個(gè)安卓程序的權(quán)限信息,并按照安卓項(xiàng)目標(biāo)準(zhǔn)的權(quán)限文件的格 式生成安卓程序權(quán)限文件,最后發(fā)送給安卓項(xiàng)目生成器; 4. 2安卓Java代碼文件生成器生成安卓Java代碼文件的方法是: 安卓Java代碼文件生成器從安卓頁面解析器接收每個(gè)頁面的控件信息,采用文本模 板代碼自動(dòng)生成技術(shù),針對每個(gè)頁面,依據(jù)Java語法,創(chuàng)建一個(gè)安卓Activity類,并為每 個(gè)控件創(chuàng)建一個(gè)與其類型匹配的成員變量,生成該變量的初始化代碼、事件響應(yīng)函數(shù)、數(shù)據(jù) 緩存函數(shù)、數(shù)據(jù)存儲(chǔ)函數(shù)代碼,最終為每個(gè)頁面生成一個(gè)安卓Java代碼文件,將所有安卓 Java代碼文件發(fā)送給安卓項(xiàng)目生成器; 4. 3安卓布局XML文件生成器生成安卓XML布局文件的方法是: 安卓布局XML文件生成器從安卓頁面解析器接收每個(gè)頁面的布局信息,采用文本模板 技術(shù),針對每個(gè)頁面,依據(jù)安卓XML布局文件的語法,為每個(gè)控件創(chuàng)建一個(gè)對應(yīng)類型的安卓 布局資源對象,生成該資源對象的編號、長度、位置屬性代碼,最終為每個(gè)頁面生成一個(gè)XML 布局文件,并將所有XML布局文件發(fā)送給安卓項(xiàng)目生成器; 4. 4安卓基類代碼文件生成器生成安卓基類代碼文件的方法是: 安卓基類代碼文件生成器從安卓頁面解析器接收每個(gè)頁面的控件信息,首先通過合 并同類控件的方式得到所有頁面所包含的控件類型的并集,然后采用文本模板技術(shù),依據(jù) Java語法,倉Il建一個(gè)公共的安卓基類Activity,并生成各個(gè)類型控件的初始化函數(shù)、事件 響應(yīng)函數(shù)、公共基類成員變量的代碼,最終形成安卓基類代碼文件,并將該安卓基類代碼文 件發(fā)送給安卓項(xiàng)目生成器; 第五步,創(chuàng)建安卓項(xiàng)目: 安卓項(xiàng)目生成器依據(jù)安卓項(xiàng)目所需的標(biāo)準(zhǔn)文件夾結(jié)構(gòu),創(chuàng)建項(xiàng)目根文件夾、src文件 夾、res文件夾、gen文件夾,并將從安卓程序權(quán)限文件生成器接收的安卓程序權(quán)限文件拷 貝至根文件夾,將從安卓Java代碼文件生成器接收的安卓Java代碼文件拷貝至src文件 夾,將從安卓布局XML文件生成器接收的安卓XML布局文件拷貝至res文件夾,將從安卓基 類代碼文件生成器接收的安卓基類代碼文件拷貝至src文件夾,形成完整的安卓項(xiàng)目,并 將完整的安卓項(xiàng)目發(fā)送給安卓程序編譯部署器; 第六步,編譯部署安卓程序到移動(dòng)設(shè)備: 6. 1安卓程序編譯部署器從安卓項(xiàng)目生成器接收完整的安卓項(xiàng)目; 6. 2使用安卓軟件開發(fā)包提供的aapt程序生成R. java類文件,使用Java編譯器編譯 所有java文件,使用安卓軟件開發(fā)包提供的dx. bat命令生成classes, dex文件; 6. 3使用aapt程序生成資源包文件及未簽名的安卓程序安裝文件; 6. 4使用Java開發(fā)包的jar signer程序?qū)ξ春灻陌沧砍绦虬惭b文件進(jìn)行簽名后生成 安卓程序; 6. 5使用安卓軟件開發(fā)包提供的apkbuilder和adb push命令命令將安卓程序部署到 移動(dòng)設(shè)備。
      2. 如權(quán)利要求1所述的面向安卓移動(dòng)設(shè)備的程序自動(dòng)生成方法,其特征在于所述每個(gè) 頁面包含的可輸入信息的控件指文本控件、數(shù)值控件、時(shí)間控件、單選控件、多選控件、下拉 框控件、拍照控件、錄像控件、錄音控件、GPS控件。
      3. 如權(quán)利要求1所述的面向安卓移動(dòng)設(shè)備的程序自動(dòng)生成方法,其特征在于所述安卓 程序可視化定制器生成安卓頁面信息XML文件的具體方法是: 3. 1確定頁面和控件: 3. I. 1由鍵盤輸入獲得頁面總數(shù)K,創(chuàng)建K個(gè)空白頁面Pyl < i <K,所創(chuàng)建的頁面位 于可視化定制器左側(cè)頁面列表區(qū); 3. 1. 2針對每個(gè)頁面,通過鼠標(biāo)從可視化定制器右側(cè)控件列表區(qū)中依次選擇一種控件, 放入可視化定制器中間的頁面顯示區(qū)中; 3. 1. 3對每個(gè)控件,通過鼠標(biāo)雙擊控件,設(shè)置該控件相關(guān)的屬性; 3. 2生成安卓頁面信息XML文件:將所有頁面及其控件的信息,存儲(chǔ)到一個(gè)頁面信息 XML文件pages, xml中,pages, xml的根兀素為Pages, Pages包含多個(gè)頁面兀素 Page, Page 包含多個(gè)控件元素 Control,每個(gè)Control包含類型相關(guān)的屬性信息。
      4. 如權(quán)利要求2所述的面向安卓移動(dòng)設(shè)備的程序自動(dòng)生成方法,其特征在于所述控 件包括文本控件、數(shù)值控件、時(shí)間控件、單選控件、多選控件、下拉框控件、拍照控件、錄像控 件、錄音控件、GPS控件。
      5. 如權(quán)利要求3所述的面向安卓移動(dòng)設(shè)備的程序自動(dòng)生成方法,其特征在于所述 3. 1. 3步對每個(gè)控件設(shè)置該控件相關(guān)的屬性時(shí),通過鼠標(biāo)選擇設(shè)置要部署的移動(dòng)設(shè)備屏幕 大小規(guī)格。
      6. 如權(quán)利要求1所述的面向安卓移動(dòng)設(shè)備的程序自動(dòng)生成方法,其特征在于第三步中 所述頁面Pi的控件類型及屬性信息的獲取方法是:首先獲取頁面P i的所有控件集合Ci = U ICJ,1彡j彡Li, 為頁面Pi的第j個(gè)控件;然后獲取每個(gè)控件的除權(quán)限外的所有 屬性信息; 所述頁面Pi的布局信息的獲取方法是:依據(jù)控件的id編號先后次序,確定控件在 頁面的上下位置; 所述頁面Pi的權(quán)限信息的獲取方法是:在獲得頁面Pi的每個(gè)控件的的權(quán)限需求后, 對所需權(quán)限求并集,即獲得頁面Pi的權(quán)限信息集合A = U {'},1彡i彡K,1彡j彡Li, 其中'為的權(quán)限需求項(xiàng);當(dāng)控件本身沒有權(quán)限需求時(shí),則權(quán)限項(xiàng)目都為空。
      7. 如權(quán)利要求1所述的面向安卓移動(dòng)設(shè)備的程序自動(dòng)生成方法,其特征在于所述頁面 基類代碼文件指實(shí)現(xiàn)包括各種類型控件的響應(yīng)函數(shù)代碼、控件值顯示和數(shù)據(jù)庫訪問等功能 的Java公共父類代碼文件。
      8. 如權(quán)利要求1所述的面向安卓移動(dòng)設(shè)備的程序自動(dòng)生成方法,其特征在于第二步安 卓程序可視化定制器從鼠標(biāo)和鍵盤接收的輸入包括:通過鼠標(biāo)點(diǎn)擊或拖拽增加頁面及頁面 中的控件,通過鍵盤輸入確定的頁面名稱、控件名稱、控件取值類型和范圍。
      9. 如權(quán)利要求1所述的面向安卓移動(dòng)設(shè)備的程序自動(dòng)生成方法,其特征在于所述安卓 程序權(quán)限文件指Google開源安卓項(xiàng)目中規(guī)定的權(quán)限文件,安卓編譯命令指Google開源安 卓項(xiàng)目中提供的apkbuilder命令,安卓應(yīng)用程序apk文件指Google開源安卓項(xiàng)目中標(biāo)準(zhǔn) 的應(yīng)用程序文件,部署命令指Google開源安卓項(xiàng)目中提供的adb push命令。
      【文檔編號】G06F9/45GK104317587SQ201410566367
      【公開日】2015年1月28日 申請日期:2014年10月22日 優(yōu)先權(quán)日:2014年10月22日
      【發(fā)明者】錢彥嶺, 李磊, 楊擁民, 杜凱, 徐騰飛, 王龍 申請人:中國人民解放軍國防科學(xué)技術(shù)大學(xué)
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會(huì)獲得點(diǎn)贊!
      1