2011-08-05

Android application 目錄結構

Android application 可以簡單分成三部份:程式(src)、資源(res/gen, assets )和 AndroidManifest.xml 系統設定檔。

Android 不像 AWT 或 Swing 是用程式編寫畫面,比較像 J2EE 是用 JSP/HTML 來編寫畫面,只是 Android 是用 XML 檔。
  • src
  • gen
    • Android 將 res 目錄下的 xml 設定檔、多媒體檔案以及其他檔案轉換成 R.java,供 src 下的 java 檔案讀取。
  • assets
    • 可以使用多層子目錄,程式以檔案系統的方式來讀取本目錄下的檔案。
  • res
    • 只支援 drawable, anim, layout, menu, values, xml, raw 子目錄,在 res 下建其他目錄是沒有作用的,在上述 drawable 等子目錄下建子目錄也是沒有作用的。
    • Android plugin 自動將 res/*/* 裡的所有檔案產生至 gen/R.java,供程式參考使用。
    • drawable - 圖片檔。
    • anim - 設定動畫的 xml 檔。
    • layout - 設定 view 的 xml 檔。
    • menu - 設定選單的 xml 檔。
    • values - 設定 i18n 字串、陣列、style、顏色的 xml 檔。
    • xml - 其他要用的 xml 檔。
    • raw - 其他要用的非 xml 檔。
  • AndroidManifest.xml
    • Android application 設定檔,用來設定 activities、content providers、services、intent receivers 元件,以及權限。
assets 和 res/raw 都是用來存放任意格式的檔案,差別在於 res/raw 會建成 R.java,程式可以直接讀取,也有 i18n 的功能,而 assets 僅僅只是檔案,得用讀取外部檔案的方式讀取。

資源有限的 Android 為何會使用不是很精簡的 xml 作為設定檔選項?因為 Android plugin 會將 xml 檔轉換成 binary。

沒有留言:

張貼留言