Android之路——走進Android(工程結構剖析)

來源:互聯網
上載者:User

我只是拿來記錄我一步一步學習的過程,大家可以共勉,也可以交流,有新諮詢的時候也可以來支援我一下。謝謝各位!

 

Android的sdk啦,什麼ADT什麼的安裝我就不說了,大家想學的估計都已經安裝好了吧。下面介紹的是Android的Project的工程的架構結構:

上面的那個圖就是我建立的AndroidProject的一個代碼架構了,下面我每個都進行一下介紹:

 

src/  java原代碼存放目錄


gen/
自動組建目錄


gen 目錄中存放所有由Android開發工具自動產生的檔案。目錄中最重要的就是R.java檔案。 這個檔案由Android開發工具自動產生的。Android開發工具會自動根據你放入res目錄的xml介面檔案、表徵圖與常量,同步更新修改R.java檔案。正因為R.java檔案是由開發工具自動產生的,所以我們應避免手工修改R.java。R.java在應用中起到了字典的作用,它包含了介面、表徵圖、常量等各種資源的id,通過R.java,應用可以很方便地找到對應資源。另外編繹器也會檢查R.java列表中的資源是否被使用到,沒有被使用到的資源不會編繹進軟體中,這樣可以減少應用在手機佔用的空間。


res/
資源(Resource)目錄

在這個目錄中我們可以存放應用使用到的各種資源,如xml介面檔案,圖片或資料。其中:


res/drawable 專門存放png、jpg等表徵圖檔案。在代碼中使用getResources().getDrawable(resourceId)擷取該目錄下的資源。


res/layout 專門存放xml介面檔案,xml介面檔案和HTML檔案一樣,主要用於顯示使用者操作介面。


res/values
專門存放應用使用到的各種類型資料。不同類型的資料存放在不同的檔案中,如下:


· strings.xml 定義字串和數值,在Activity中使用getResources().getString(resourceId) 或getResources().getText(resourceId)取得資源。它的作用和struts中的國際化資源檔一樣。


 

 

· colors.xml 定義顏色和顏色字串數值,你可以在Activity中使用getResources().getDrawable(resourceId) 以及getResources().getColor(resourceId)取得這些資源。例子如下:

   

 

res/anim/ 存放定義動畫的XML檔案。


res/xml/ 在Activity中使用getResources().getXML()讀取該目錄下的XML資源檔。


res/raw/ 該目錄用於存放應用使用到的原始檔案,如音效檔案等。編譯軟體時,這些資料不會被編譯,它們被直接加入到程式安裝包裡。
為了在程式中使用這些資源,你可以調用getResources().openRawResource(ID) , 參數ID形式:R.raw.somefilename。


assets資來源目錄


Android除了提供/res目錄存放資源檔外,在/assets目錄也可以存放資源檔,而且/assets目錄下的資源檔不會在R.java自動產生ID,所以讀取/assets目錄下的檔案必須指定檔案的路徑,如:file:///android_asset/xxx.3gp


AndroidManifest.xml
項目資訊清單檔


 這個檔案列出了應用程式所提供的功能,以後你開發好的各種組件需要在該檔案中進行配置,如果應用使用到了系統內建的應用(如電話語音、互連網服務、簡訊服務、GPS服務等等),你還需在該檔案中聲明使用許可權。


default.properties
項目環境資訊,一般是不需要修改此檔案。


 

瞭解了上面,對於Android開發的入門有了一點瞭解了吧。。。第一篇就是如此。See U  Next Time...(THX 傳智播客)

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.