官术网_书友最值得收藏!

1.6 Android應用程序的項目結構

從上面的項目中讀者已經知道了通過Android SDK可以自動生成一個項目包,但是沒有對項目包里的內容進行介紹,本節對項目包中的內容進行一一介紹,項目包如圖1-19所示。

圖1-19 Android應用程序的項目結構

src源代碼目錄:該目錄存放Android應用程序所有的源代碼。該目錄項有不同的包,包中對應開發的源程序,開發人員開發的主要精力都是在開發src目錄下的內容。

gen文件夾目錄:該目錄存放了Eclipse的ADT插件自動生成的R.java文件。實際上R.java定義了一個R類,它包含了應用中用戶界面、圖像、字符串等各種資源與之相對應的資源編號(id),這些資源編號都是系統自動生成的,即有一資源對象,系統就為此在R類中生成相應的資源編號,好比一本字典。

提示:Android應用程序中通過R類別來實現對資源的應用。同時,編譯器也會查看這個資源列表,沒有使用到的資源就不會編譯進去,為手機應用程序節省空間。

res資源目錄:該目錄下定義了drawable、layout及values三個目錄,下面對這三個目錄一一進行介紹。

● drawable目錄:該目錄下有drawable-hdpi,drawable-ldpi,drawable-mdpi三個文件夾,分別用來存放不同分辨率的圖片資源,用于不同分辨率的手機的開發,開發人員可以通過Resource.getDrawable(id)獲得該資源。

● layout目錄:該目錄下包含了所有使用XML格式的界面描述文件。主要用于表述應用程序的用戶界面布局,也用于描述用戶界面和接口組件。

提示:開發人員也可以直接通過Java代碼來創建用戶界面,不過使用xml描述文件則更簡單,架構更清晰,維護也更容易。在這里需要強調的是,如果在程序里面要使用這些用戶界面組件,必須通過前面提到的R類來調用。

● values目錄:該目錄包含了使用XML格式的參數描述文件,讀者可以在此添加一些額外的資源如字符串(string.xml)、顏色(color.xml)、樣式(style.xml)和數組(arrays.xml)等。主要用于在代碼中通過R類來調用它們,而不直接使用,這樣就可將代碼和資源分開管理,便于維護。

除了以上文件夾外,還有一個AndroidManifest.xml文件,該文件系統的控制文件,告訴系統如何處理創建的所有頂層組件,尤其是Activity、IntentReceiver、Service及ContentProvider,凡是需要用到的組件都要在此注冊,同時該文件也是所有Android應用程序都需要的文件,其描述了程序包的全局變量,包括公開的應用程序組件和為每個組件的實現類,什么樣的數據可以操作、在什么地方可以運行等。

這個文件中最重要的一個內容就是Intent過濾器,這些過濾器描述了何時在何種情況下讓Activity啟動。當一個Activity(或操作系統)想要執行一個動作,它將創建一個Intent對象。該對象包含了很多描述符,描述了想做的操作,如處理的數據、數據的類型,以及一些其他的信息。Android將Intent對象中的信息與所有公開的Intent過濾器比較,找到一個最能恰當處理請求的數據和動作的Activity。

提示:上述功能以外,AndroidManifest.xml文件中也可以指定權限、安全控制及測試,這些功能在以后的開發中會經常用到。

主站蜘蛛池模板: 独山县| 古丈县| 益阳市| 庄河市| 永寿县| 长丰县| 宜丰县| 富锦市| 新泰市| 北流市| 谢通门县| 苏尼特左旗| 施秉县| 南漳县| 星子县| 明水县| 武功县| 健康| 西昌市| 苏尼特左旗| 陆良县| 白沙| 陆河县| 阿拉尔市| 清徐县| 武义县| 浮梁县| 万宁市| 金阳县| 黄平县| 镶黄旗| 玉树县| 瓮安县| 天台县| 大同县| 田阳县| 古交市| 佛山市| 临漳县| 抚顺市| 唐河县|