Android 解析 Android 項目組成

來源:互聯網
上載者:User

標籤:android   style   java   color   使用   strong   

本文說明 Android 項目組成,雖然簡單,但決不能忽視。

當你從簡單 Hello World 程式,到會實現一些常見功能,比如,下拉(上拉)重新整理最新(載入更多),訊息處理(UI 通知更新),ViewPager 滑動效果,啟動動畫,訪問網路檔案,進行一些複雜的布局等等,在到調試一些開源項目,最後自己編寫 Android 程式。可當調試一些開源項目時,尤其是那些比較大的開源項目,你會發現一些“意想不到”的情況,它們無論從介面,還是從功能,介面夠炫,功能強大,也正因為如此,需要更多的資源,比如動畫或聲音效果,甚至使用三方的庫,那就需要瞭解更多關於 Android 項目構成的問題了。

檔案/檔案夾 描述 是否必需

AndroidManifest.xml

應用程式描述檔案,是每個 android 程式所必需的檔案,位於工程的根目錄下。此檔案是是項目的總設定檔,記錄應用中所使用的各種組件。這個檔案列出了應用程式所提供的功能,指定應用程式中使用的服務許可權(如 GPS 服務、互連網服務、簡訊服務等)。

  • 應用程式套件組合名,該包名也會作為該應用的唯一標識;
  • 應用程式所包含的組件,如 Activity(即 <activity.../> 元素)、Service、BroadcastReceiver 和 ContentProvider 等;
  • 應用程式相容的最低版本;
  • 應用程式使用系統所需的許可權聲明,如 <uses-permission android:name="android.permission.INTERNET" />,允許 Android 訪問網路。
  • 其他程式訪問該程式所需要的許可權。

gen

該目錄存放的所有內容都是自動產生的,該目錄中最重要是 R.java。R.java 是個中介檔案,在建立項目時自動產生,這個檔案是唯讀模式的,不能更改。R.java 檔案是自動產生的 R 類,R 類中包含很多靜態類,且靜態類的名字都與 res 中的一個名字對應,就像是個資源字典。其中包含了使用者介面、映像、字串等對應各個資源的標識符,R 類定義了該項目所有資源的索引。

例如,xml 介面檔案中有一個 ID 為 tv 文字框控制項,即 android:id="@+id/tv",那麼通過 R.id.tv 就可以找到這個控制項。

通過 R.java 可以很快地尋找到所需要的資源,同時,編譯器也會檢查 R.java 列表中的資源是否被使用,沒被使用到的資源不會被編譯到軟體中,這樣可以減少在手機佔用的空間。

bin

在使用 Eclipse 開發時,可以不用關心 bin 目錄。如果在 Eclipse 中看不到,可以到資源管理員下面查看。

src

包含應用程式的所有 Java 原始碼。

assets

其他任何資源的檔案夾和檔案的集合。除了提供 res 目錄存放資源檔外,Android 在 assets 目錄也可以存放資源檔,assets 目錄下的資源檔不會在 R.java 自動產生 id,所以讀取 assets 目錄下的檔案必須指定檔案的路徑,可以通過 AssetManager 類來訪問這些檔案。

res

資來源目錄,它包含項目中的資源檔並將其編譯進應用程式中,向此目錄添加資源時,會被 R.java 自動記錄。res目錄存放所有程式中用到的資源檔。“資源檔”指的是資料檔案、圖片等。該目錄包含 drawable,anim,layout,values,xml 和 raw 子檔案夾。

drawable

包含應用程式使用的映像資源(*.png、*.jpg)。Android 1.5 及以下版本目錄是 drawable,Android 1.5 以上版本有 3 個:drawable-hdpi、drawable-mdpi 和 drawable-ldpi。
  • drawable-hdpi 放高品質的圖片。
  • drawable-mdpi 放中品質圖片。
  • drawable-ldpi 放低品質的圖片。

雖然是 3 個目錄,但在使用 R 檔案訪問時,與 Android 1.5 及以下版本一樣的。

anim

包含用 xml 描述的應用程式使用的動畫效果的設定檔。

layout

包含應用程式的布局 xml 檔案。你應該建立通過使用 xml 描述介面的布局,而不是通過 Java 編碼實現介面布局。

values

包含應用程式的常量資源,包括字串,樣式和顏色。如在 strings.xml 存放各種文字,以及存放不同類型的資料,像 arrays.xml、colors.xml、styles.xml 等。

例如:有一個 main.xml 布局檔案,若在其中訪問 strings.xml 檔案的 hello 常量資源,可以"@+string/hello"方式;而在程式中訪問方式為 R.string.hello。一般形式是:R.<資源類型>.<資源名稱>

raw

包含附加的資料和非 xml 資料,例如 MP3 檔案。使用 Eclipse 建立 Android 工程時,預設情況下不會在 res 目錄下面建立這個目錄,如果需要,可以自己建立。它可以通過 I/O 流訪問,如應用中內建音頻檔案,就可以放置在這個目錄下面。訪問方式為 R.raw.xxx 方式。

menu

菜單,主要放置設計的 OptionsMenu 和 ContextMneu 的功能表項目。使用 Eclipse 建立 Android 工程時,預設情況下不會在 res 目錄下面建立這個目錄,如果需要,可以自己建立。

Android 4.1

該檔案夾下包含 android.jar 檔案,這是一個Java 歸檔檔案,其中包含構建應用程式所需的所有的Android SDK 庫(如 Views、Controls)和 APIs。通過 android.jar 將自己的應用程式綁定到 Android SDK 和 Android Emulator,這允許你使用所有 Android 的庫和包,且使你的應用程式在適當的環境中調試。

project.properties

記錄項目中所需要的環境資訊,比如 Android 版本等。

例如:關於 Android API 的資訊 android-19,表明採用的是 Android 4.4.2。最近調試 oschina 項目,該項目必須是 android-15,即 Android 4.0.3 版本。
 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.