国产精品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>

      一種Android平臺(tái)工程的開發(fā)方法及系統(tǒng)的制作方法

      文檔序號(hào):6334704閱讀:130來源:國(guó)知局
      專利名稱:一種Android平臺(tái)工程的開發(fā)方法及系統(tǒng)的制作方法
      技術(shù)領(lǐng)域
      本發(fā)明屬于通信技術(shù)領(lǐng)域,尤其涉及一種Android平臺(tái)工程的開發(fā)方法及系統(tǒng)。
      背景技術(shù)
      Android(—種手機(jī)操作系統(tǒng))應(yīng)用程序一般包含在一個(gè)單一的文件夾中,即每一個(gè)Android應(yīng)用程序是一個(gè)獨(dú)立的工程,其包括AndroidManifest. xml,Java源代碼、資源文件和資產(chǎn)文件。AndroidManifest. xml為工程描述文件,位于每個(gè)應(yīng)用程序的根目錄下,它是 Android的描述文件,提供應(yīng)用程序的基本信息。Java源代碼是按照J(rèn)ava包的方式來組織目錄結(jié)構(gòu),包括各個(gè)Java類的源代碼。資源文件包含XML文件、圖片文件、原始數(shù)據(jù)文件等,獨(dú)立于程序代碼而存在,被放置在Android應(yīng)用程序包的子目錄res/中,在編譯時(shí)編入應(yīng)用程序,通過R類被使用或訪問ο資產(chǎn)文件放置在子目錄assets/中,不經(jīng)常使用,因?yàn)樗鼈兊膽?yīng)用程序很少,僅在需要讀取原始字節(jié)流時(shí)才需要保存數(shù)據(jù)為資產(chǎn),必須使用AssetManager類來讀取資產(chǎn)文件。因此,一般應(yīng)用程序只包含AndroidManifest. xml、Java源代碼和資源文件。這種三位一體的思想體現(xiàn)了 GUI (圖形用戶界面)的設(shè)計(jì)思想,描述文件負(fù)責(zé)宏觀框架,Java負(fù)責(zé)邏輯,資源文件負(fù)責(zé)外觀,通過控制資源文件可以達(dá)到不同的界面效果。雖然這種通過R類來讀取自帶的資源是挺方便的,但如果應(yīng)用做得比較復(fù)雜,使用起來就不方便了。例如,應(yīng)用想做幾套皮膚,因?yàn)閞es/drawable/這個(gè)目錄名稱是固定的,不能在應(yīng)用中自定義目錄結(jié)構(gòu),不容易實(shí)現(xiàn)換膚功能。如果想換膚只能修改資源文件, 重新編譯生成應(yīng)用程序包,如果沒有源碼也就無法實(shí)現(xiàn)換膚了。另外,對(duì)于切換界面的語言,雖然可以通過res/values-zh/定義描述資源,但必須通過系統(tǒng)的設(shè)置來選擇語言,而不能通過用戶在應(yīng)用里的語言設(shè)置功能來改變語言。造成上述缺陷的原因在于資源res 中的目錄名是固定的,而且只能根據(jù)系統(tǒng)的設(shè)置來控制選擇,不能通過應(yīng)用來選擇目錄名。

      發(fā)明內(nèi)容
      本發(fā)明提供了一種Android工程的開發(fā)方法,旨在解決現(xiàn)有技術(shù)中換膚或定制自己的界面時(shí)需要重新編譯生成應(yīng)用程序包或修改應(yīng)用程序包,且在沒有源碼或沒有應(yīng)用程序安裝包的情況下,無法實(shí)現(xiàn)換膚的問題。本發(fā)明是這樣實(shí)現(xiàn)的,一種Android工程的開發(fā)方法,包括將資源文件單獨(dú)生成資源應(yīng)用包;將資源應(yīng)用包設(shè)置成應(yīng)用程序的資產(chǎn)文件,生成應(yīng)用程序包;程序運(yùn)行時(shí)應(yīng)用程序包中的應(yīng)用程序解析資產(chǎn)文件中的資源應(yīng)用包,導(dǎo)出資源內(nèi)容;
      讀取相應(yīng)的資源文件,設(shè)置給應(yīng)用程序包中應(yīng)用程序使用。本發(fā)明的開發(fā)方法技術(shù)方案中,所述資源文件單獨(dú)生成資源應(yīng)用包之前,定義資源屬性類,生成公用的資源屬性ID(IDentity,識(shí)別碼);根據(jù)所述資源屬性ID組織資源文件,再將資源文件單獨(dú)生成資源應(yīng)用包;所述讀取相應(yīng)的資源文件是通過公用的資源屬性 ID進(jìn)行讀取。本發(fā)明的開發(fā)方法技術(shù)方案還包括所述步驟根據(jù)資源屬性ID組織資源文件,將資源文件單獨(dú)生成資源應(yīng)用包,具體包括步驟bl 將源程序部分的工程描述文件和資源文件分別經(jīng)過打包工具進(jìn)行處理;步驟Μ 將處理后的工程描述文件放置到根目錄;步驟b3 將處理后的資源文件放置到res目錄;步驟b4 將資產(chǎn)文件放置到assets目錄;步驟沾生成資源應(yīng)用包。本發(fā)明的開發(fā)方法技術(shù)方案還包括在所述步驟生成應(yīng)用程序包,并將資源應(yīng)用包設(shè)置成應(yīng)用程序的資產(chǎn)文件,包括步驟cl 將源程序部分的源碼經(jīng)過處理,生成Dex字節(jié)碼,并將Dex字節(jié)碼放置到根目錄;步驟c2 將源程序部分的工程描述文件經(jīng)過打包工具進(jìn)行處理,將處理后的工程描述文件放置到根目錄;步驟c3 將資源應(yīng)用包設(shè)置成資產(chǎn)文件放置到assets目錄;步驟c4 生成應(yīng)用程序包。本發(fā)明的開發(fā)方法技術(shù)方案還包括所述步驟Cl具體包括將源程序部分的源碼通過編譯器進(jìn)行編譯,生成Class字節(jié)碼;將Class字節(jié)碼經(jīng)過處理,生成Dex字節(jié)碼;將 Dex字節(jié)碼放置到根目錄。本發(fā)明的開發(fā)方法技術(shù)方案還包括所述源碼為Java源碼,所述Java源碼通過 Java編譯器進(jìn)行編譯。本發(fā)明采取的另一技術(shù)方案為一種Android工程的開發(fā)系統(tǒng),包括資源應(yīng)用包生成模塊、應(yīng)用程序包生成模塊、解析模塊和資源文件讀取模塊;所述資源應(yīng)用包生成模塊用于將資源文件單獨(dú)生成一個(gè)資源應(yīng)用包;所述應(yīng)用程序包生成模塊用于生成應(yīng)用程序包,并將資源應(yīng)用包設(shè)置成應(yīng)用程序包的資產(chǎn)文件;所述解析模塊用于解析資產(chǎn)文件中的資源應(yīng)用包,導(dǎo)出資源內(nèi)容;所述資源文件讀取模塊用于讀取相應(yīng)的資源文件,設(shè)置給應(yīng)用程序包中應(yīng)用程序使用。本發(fā)明的開發(fā)系統(tǒng)技術(shù)方案還包括資源屬性生成模塊,用于定義資源屬性類,生成公用的資源屬性ID ;所述資源應(yīng)用包生成模塊用于根據(jù)資源屬性ID組織資源文件;所述資源文件讀取模塊用于通過公用的資源屬性ID,讀取相應(yīng)的資源文件。本發(fā)明的開發(fā)系統(tǒng)技術(shù)方案還包括所述資源應(yīng)用包生成模塊具體工作方式為 將源程序部分的工程描述文件和資源文件分別經(jīng)過打包工具進(jìn)行處理;將處理后的工程描述文件放置到根目錄;將處理后的資源文件放置到res目錄;將資產(chǎn)文件放置到assets目錄;生成資源應(yīng)用包。本發(fā)明的開發(fā)系統(tǒng)技術(shù)方案還包括所述應(yīng)用程序包生成模塊具體工作方式為將源程序部分的源碼通過編譯器進(jìn)行編譯,生成Class字節(jié)碼;將Class字節(jié)碼經(jīng)過處理, 生成Dex字節(jié)碼;將源程序部分的工程描述文件經(jīng)過打包工具進(jìn)行處理;將Dex字節(jié)碼放置到根目錄;將處理后的工程描述文件放置到根目錄;將資源應(yīng)用包設(shè)置成資產(chǎn)文件放置到assets目錄;生成應(yīng)用程序包。本發(fā)明的開發(fā)系統(tǒng)技術(shù)方案還包括所述源碼為Java源碼,所述Java源碼通過 Java編譯器進(jìn)行編譯。本發(fā)明的技術(shù)方案具有如下優(yōu)點(diǎn)或有益效果本發(fā)明的方法及系統(tǒng)將資源文件與應(yīng)用程序源碼分離,在用戶換膚或定制自己的界面時(shí),只需要編譯資源應(yīng)用包,不用再關(guān)心程序源代碼,在沒有程序源代碼的情況下,也可以通過修改資源文件,實(shí)現(xiàn)換膚;并且可以支持多個(gè)資源包,在不同資源應(yīng)用包間進(jìn)行切換,輕松實(shí)現(xiàn)換膚和多語言等功能;另外,資源包可隨著需要安裝或卸載,使用戶可以很好的管理自己的系統(tǒng)資源。


      附圖1是本發(fā)明Android平臺(tái)工程的開發(fā)的方法的流程圖;附圖2是本發(fā)明Android平臺(tái)工程的開發(fā)的方法的交互框圖;附圖3是本發(fā)明Android平臺(tái)工程的開發(fā)方法生成資源應(yīng)用包的流程圖;附圖4是本發(fā)明Android平臺(tái)工程的開發(fā)方法生成資源應(yīng)用包的過程框圖;附圖5是本發(fā)明Android平臺(tái)工程的開發(fā)方法生成應(yīng)用程序包的流程圖;附圖6是本發(fā)明Android平臺(tái)工程的開發(fā)方法生成應(yīng)用程序包的過程框圖;附圖7是本發(fā)明Android平臺(tái)工程的開發(fā)系統(tǒng)的模塊結(jié)構(gòu)圖。
      具體實(shí)施例方式為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下結(jié)合附圖及實(shí)施例,對(duì)本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。在本發(fā)明實(shí)施例中,Android平臺(tái)工程的開發(fā)將資源文件與應(yīng)用程序源碼分離,在用戶換膚或定制自己的界面時(shí),只需要編譯資源應(yīng)用包,不用再關(guān)心程序源代碼。本發(fā)明的Android平臺(tái)工程的開發(fā)是這樣實(shí)現(xiàn)的,將資源文件單獨(dú)生成資源應(yīng)用包;將資源應(yīng)用包設(shè)置成應(yīng)用程序的資產(chǎn)文件,生成應(yīng)用程序包;程序運(yùn)行時(shí)應(yīng)用程序包中的應(yīng)用程序解析資產(chǎn)文件中的資源應(yīng)用包,導(dǎo)出資源內(nèi)容;讀取相應(yīng)的資源文件,設(shè)置給應(yīng)用程序包中應(yīng)用程序使用。下面進(jìn)行具體闡述請(qǐng)參閱圖1和圖2,圖1是本發(fā)明Android平臺(tái)工程的開發(fā)方法的流程圖,圖2是本發(fā)明Android平臺(tái)工程的開發(fā)方法的交互框圖。本發(fā)明Android平臺(tái)工程的開發(fā)方法包括以下步驟步驟10 定義資源屬性類,生成公用的資源屬性ID(IDentity,識(shí)別碼);生成公用的資源屬性ID,便于對(duì)資源文件進(jìn)行分類管理和快速讀取。資源屬性ID 是資源文件的唯一標(biāo)識(shí),應(yīng)用程序可以通過這個(gè)ID快速找到資源文件。當(dāng)然,還可以使用其它方式對(duì)資源文件進(jìn)行管理,如開發(fā)者對(duì)資源文件進(jìn)行的自定義等方式。步驟20 根據(jù)資源屬性ID組織資源文件,將資源文件單獨(dú)生成一個(gè)資源應(yīng)用包,命名為res. apk ;請(qǐng)參閱圖3,是本發(fā)明Android平臺(tái)工程的開發(fā)方法生成資源應(yīng)用包的流程圖。在步驟20中,生成資源應(yīng)用包具體包括步驟21 將源程序部分的AndroidManifest. xml (工程描述文件)和資源文件分別經(jīng)過aapt (Android打包工具)進(jìn)行處理;步驟22 將處理后的AndroidManifest. xml通過aapt放置到根目錄;步驟23 將處理后的資源文件通過aapt放置到res目錄;步驟M 將資產(chǎn)文件放置到assets目錄;步驟25 生成資源應(yīng)用包。其中,上述的步驟22到M并沒有先后的邏輯關(guān)系限定,其可以同時(shí)進(jìn)行,具體的實(shí)現(xiàn)可以參考圖4中Android平臺(tái)工程的開發(fā)方法生成資源應(yīng)用包的過程框圖。步驟30 生成應(yīng)用程序包,將其命名為app. apk,并將資源應(yīng)用包res. apk設(shè)置成應(yīng)用程序包的資產(chǎn)文件;請(qǐng)參閱圖5,是本發(fā)明Android平臺(tái)工程的開發(fā)方法生成應(yīng)用程序包的流程圖。在步驟30中,生成應(yīng)用程序包具體包括步驟31 將源程序部分的Java源碼通過Java編譯器進(jìn)行編譯,生成Class字節(jié)碼;步驟32 將Class字節(jié)碼經(jīng)過dx工具處理,生成Dex字節(jié)碼;步驟33 將源程序部分的AndroidManifest. xml經(jīng)過aapt (Android打包工具)進(jìn)行處理;步驟;34 將Dex字節(jié)碼通過aapt放置到根目錄;步驟;35 將處理后的AndroidManifest. xml通過aapt放置到根目錄;步驟36 將資源應(yīng)用包設(shè)置成資產(chǎn)文件放置到assets目錄;步驟37 生成應(yīng)用程序包。其中,上述的步驟34到36并沒有先后的邏輯關(guān)系限定,其可以同時(shí)進(jìn)行,具體的實(shí)現(xiàn)可以參考圖6中Android平臺(tái)工程的開發(fā)方法生成應(yīng)用程序包的過程框圖。在應(yīng)用程序運(yùn)行時(shí)步驟40 應(yīng)用程序包中的應(yīng)用程序解析資產(chǎn)文件中的資源應(yīng)用包,導(dǎo)出res資源內(nèi)容;步驟50 通過公用的資源屬性ID,讀取相應(yīng)的資源文件,設(shè)置給應(yīng)用程序包中應(yīng)用程序使用。請(qǐng)參閱圖7,是本發(fā)明Android平臺(tái)工程的開發(fā)系統(tǒng)的結(jié)構(gòu)圖。本發(fā)明Android平臺(tái)工程的開發(fā)系統(tǒng)包括資源屬性生成模塊、資源應(yīng)用包生成模塊、應(yīng)用程序包生成模塊、解析模塊和資源文件讀取模塊。資源屬性生成模塊用于定義資源屬性類,生成公用的資源屬性ID。資源應(yīng)用包生成模塊用于根據(jù)資源屬性ID組織資源文件,將資源文件單獨(dú)生成一個(gè)資源應(yīng)用包,其中,資源應(yīng)用包生成模塊具體工作原理為將源程序部分的 AndroidManifest. xml和資源文件分別經(jīng)過aapt (Android打包工具)進(jìn)行處理;將處理后的AndroidManifest. xml通過aapt放置到根目錄;將處理后的資源文件通過aapt放置到res目錄;將資產(chǎn)文件放置到assets目錄;生成資源應(yīng)用包。應(yīng)用程序包生成模塊用于生成應(yīng)用程序包,并將資源應(yīng)用包res. apk設(shè)置成應(yīng)用程序包的資產(chǎn)文件;其中,應(yīng)用程序包生成模塊具體工作原理為將源程序部分的Java源碼通過Java編譯器進(jìn)行編譯,生成Class字節(jié)碼;將Class字節(jié)碼經(jīng)過dx工具處理,生成 Dex字節(jié)碼;將源程序部分的AndroidManifest. xml經(jīng)過aapt (Android打包工具)進(jìn)行處理;將Dex字節(jié)碼通過aapt放置到根目錄;將處理后的AndroidManifest. xml通過aapt放置到根目錄;將資源應(yīng)用包設(shè)置成資產(chǎn)文件放置到assets目錄;生成應(yīng)用程序包。解析模塊用于解析資產(chǎn)文件中的資源應(yīng)用包,導(dǎo)出res資源內(nèi)容。資源文件讀取模塊用于通過公用的資源屬性ID,讀取相應(yīng)的資源文件,設(shè)置給應(yīng)用程序包中應(yīng)用程序使用。具體如上所述。以上所述僅為本發(fā)明的較佳實(shí)施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換和改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
      權(quán)利要求
      1.一種Android平臺(tái)工程的開發(fā)方法,包括 將資源文件單獨(dú)生成資源應(yīng)用包;將資源應(yīng)用包設(shè)置成應(yīng)用程序的資產(chǎn)文件,生成應(yīng)用程序包;程序運(yùn)行時(shí)應(yīng)用程序包中的應(yīng)用程序解析資產(chǎn)文件中的資源應(yīng)用包,導(dǎo)出資源內(nèi)容;讀取相應(yīng)的資源文件,設(shè)置給應(yīng)用程序包中應(yīng)用程序使用。
      2.根據(jù)權(quán)利要求1所述的Android平臺(tái)工程的開發(fā)方法,其特征在于,所述資源文件單獨(dú)生成資源應(yīng)用包之前,定義資源屬性類,生成公用的資源屬性;根據(jù)所述資源屬性ID組織資源文件,再將資源文件單獨(dú)生成資源應(yīng)用包;所述讀取相應(yīng)的資源文件是通過公用的資源屬性ID進(jìn)行讀取。
      3.根據(jù)權(quán)利要求1或2所述的Android平臺(tái)工程的開發(fā)方法,其特征在于,所述步驟根據(jù)資源屬性ID組織資源文件,將資源文件單獨(dú)生成資源應(yīng)用包,包括步驟bl 將源程序部分的工程描述文件和資源文件分別經(jīng)過打包工具進(jìn)行處理; 步驟1^2 將處理后的工程描述文件放置到根目錄; 步驟b3 將處理后的資源文件放置到res目錄; 步驟b4 將資產(chǎn)文件放置到assets目錄; 步驟沾生成資源應(yīng)用包。
      4.根據(jù)權(quán)利要求1或2所述的Android平臺(tái)工程的開發(fā)方法,其特征在于,在所述步驟生成應(yīng)用程序包,并將資源應(yīng)用包設(shè)置成應(yīng)用程序的資產(chǎn)文件,包括步驟Cl 將源程序部分的源碼經(jīng)過處理,生成Dex字節(jié)碼,并將Dex字節(jié)碼放置到根目錄;步驟c2 將源程序部分的工程描述文件經(jīng)過打包工具進(jìn)行處理,將處理后的工程描述文件放置到根目錄;步驟c3 將資源應(yīng)用包設(shè)置成資產(chǎn)文件放置到assets目錄; 步驟c4:生成應(yīng)用程序包。
      5.根據(jù)權(quán)利要求4所述的Android平臺(tái)工程的開發(fā)方法,其特征在于,所述步驟cl具體包括將源程序部分的源碼通過編譯器進(jìn)行編譯,生成Class字節(jié)碼;將Class字節(jié)碼經(jīng)過處理,生成Dex字節(jié)碼;將Dex字節(jié)碼放置到根目錄。
      6.根據(jù)權(quán)利要求5所述的Android平臺(tái)工程的開發(fā)方法,其特征在于,所述源碼為 Java源碼,所述Java源碼通過Java編譯器進(jìn)行編譯。
      7.—種Android平臺(tái)工程的開發(fā)系統(tǒng),其特征在于,包括資源應(yīng)用包生成模塊、應(yīng)用程序包生成模塊、解析模塊和資源文件讀取模塊;所述資源應(yīng)用包生成模塊用于將資源文件單獨(dú)生成一個(gè)資源應(yīng)用包;所述應(yīng)用程序包生成模塊用于生成應(yīng)用程序包,并將資源應(yīng)用包設(shè)置成應(yīng)用程序包的資產(chǎn)文件;所述解析模塊用于解析資產(chǎn)文件中的資源應(yīng)用包,導(dǎo)出資源內(nèi)容;所述資源文件讀取模塊用于讀取相應(yīng)的資源文件,設(shè)置給應(yīng)用程序包中應(yīng)用程序使用。
      8.根據(jù)權(quán)利要求7所述的Android平臺(tái)工程的開發(fā)系統(tǒng),其特征在于,所述開發(fā)系統(tǒng)還包括資源屬性生成模塊,用于定義資源屬性類,生成公用的資源屬性ID ;所述資源應(yīng)用包生成模塊用于根據(jù)資源屬性ID組織資源文件;所述資源文件讀取模塊用于通過公用的資源屬性ID,讀取相應(yīng)的資源文件。
      9.根據(jù)權(quán)利要求7或8所述的Android平臺(tái)工程的開發(fā)系統(tǒng),其特征在于,所述資源應(yīng)用包生成模塊具體工作方式為將源程序部分的工程描述文件和資源文件分別經(jīng)過打包工具進(jìn)行處理;將處理后的工程描述文件放置到根目錄;將處理后的資源文件放置到res目錄;將資產(chǎn)文件放置到assets目錄;生成資源應(yīng)用包。
      10.根據(jù)權(quán)利要求7或8所述的Android平臺(tái)工程的開發(fā)系統(tǒng),其特征在于,所述應(yīng)用程序包生成模塊具體工作方式為將源程序部分的源碼通過編譯器進(jìn)行編譯,生成Class 字節(jié)碼;將Class字節(jié)碼經(jīng)過處理,生成Dex字節(jié)碼;將源程序部分的工程描述文件經(jīng)過打包工具進(jìn)行處理;將Dex字節(jié)碼放置到根目錄;將處理后的工程描述文件放置到根目錄;將資源應(yīng)用包設(shè)置成資產(chǎn)文件放置到assets目錄;生成應(yīng)用程序包。
      全文摘要
      本發(fā)明屬于計(jì)算機(jī)通訊領(lǐng)域,尤其涉及一種Android平臺(tái)工程的開發(fā)方法及系統(tǒng)。該Android平臺(tái)工程的開發(fā)方法包括定義資源屬性類,生成公用的資源屬性ID(IDentity,識(shí)別碼);根據(jù)資源屬性ID組織資源文件,將資源文件單獨(dú)生成資源應(yīng)用包;將資源應(yīng)用包設(shè)置成應(yīng)用程序的資產(chǎn)文件,生成應(yīng)用程序包;程序運(yùn)行時(shí)應(yīng)用程序包中的應(yīng)用程序解析資產(chǎn)文件中的資源應(yīng)用包,導(dǎo)出資源內(nèi)容;通過公用的資源屬性ID,讀取相應(yīng)的資源文件,設(shè)置給應(yīng)用程序包中應(yīng)用程序使用。本發(fā)明的有益效果在于在用戶換膚或定制自己的界面時(shí),只需要編譯資源應(yīng)用包,不用再關(guān)心代碼,在沒有源碼的情況下,也可以修改資源文件,實(shí)現(xiàn)換膚。
      文檔編號(hào)G06F9/45GK102455931SQ20101052554
      公開日2012年5月16日 申請(qǐng)日期2010年10月28日 優(yōu)先權(quán)日2010年10月28日
      發(fā)明者袁英燦, 詹紅艷 申請(qǐng)人:Tcl集團(tuán)股份有限公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1