在建立HelloAndroid程序的過程中,ADT會自動建立一些目錄和文件,這些目錄和文件有其固定的作用,有的允許修改,有的不能修改。下面逐一的介紹 在“Package Explore”中,ADT以工程名稱HelloAndroid作為根目錄,將所有字段生成的和非自動生成的文件都保存在這個根目錄下 根目錄包含四個子目錄:src、assets、res和gen,一個庫文件android.jar,以及兩個工程文件Androidmanifest.xml和default.properties src目錄是源代碼目錄,所有允許用戶修改的java文件和用戶自己添加的java文件都保存在這個目錄中 HelloAndroid工程建立初期,ADT根據(jù)用戶在工程向?qū)е械摹?/span>Create Activity”選項,自動建立HelloAndroid.java文件 HelloAndroid.java是Android工程向?qū)Ц鶕?jù)Activity名稱創(chuàng)建的java文件,這個文件完全可以手工修改。 為了在Android系統(tǒng)上顯示圖形界面,需要使用代碼繼承Activity類,并在onCreate()函數(shù)中聲明需要顯示的內(nèi)容 HelloAndroid.java文件的代碼如下 第3行和第4行的代碼通過android.jar從Android SDK中引入了Activity和Bundle兩個重要的包,用以子類繼承和信息傳遞 第6行代碼聲明HelloAndroid類繼承Activity類 第8行代碼表明需要重寫onCreate()函數(shù) 第9行代碼的onCreate()會在Activity首次啟動時會被調(diào)用,為了便于理解,可以認(rèn)為onCreate()是HelloAndroid程序的主入口函數(shù) 第10行代碼調(diào)用父類的onCreate()函數(shù),并將savedInstanceState傳遞給父類,savedInstanceState是Activity的狀態(tài)信息 第11行代碼聲明了需要顯示的用戶界面,此界面是用XML語言描述的界面布局,保存在scr/ layout/main.xml資源文件 gen目錄是1.5版本新增的目錄,用來保存ADT自動生成的java文件,例如R.java或AIDL文件 R.java文件是ADT自動生成的文件,包含對drawable、layout和values目錄內(nèi)的資源的引用指針,Android程序能夠直接通過R類引用目錄中的資源 R.java文件不能手工修改,如果向資源目錄中增加或刪除了資源文件,則需要在工程名稱上右擊,選擇Refresh來更新R.java文件中的代碼 R類包含的幾個內(nèi)部類,分別與資源類型相對應(yīng),資源ID便保存在這些內(nèi)部類中,例如子類drawable表示圖像資源,內(nèi)部的靜態(tài)變量icon表示資源名稱,其資源ID為0x7f020000。 一般情況下,資源名稱與資源文件名相同 HelloAndroid工程生成的R.java文件的代碼 引用資源 資源引用有兩種情況:一種是在代碼中引用資源;另一種是在資源中引用資源 代碼中引用資源,需要使用資源的ID,可以通過[R.resource_type.resource_name]或[android.R.resource_type.resource_name]獲取資源ID resource_type代表資源類型,也就是R類中的內(nèi)部類名稱 resource_name代表資源名稱,對應(yīng)資源的文件名或在XML文件中定義的資源名稱屬性 資源中引用資源,引用格式:@ [package:]type:name @表示對資源的引用 package是包名稱,如果在相同的包,package則可以省略 android.jar文件是Android程序所能引用的函數(shù)庫文件,Android通過平臺所支持API都包含在這個文件中 assets目錄用來存放原始格式的文件,例如音頻文件、視頻文件等二進(jìn)制格式文件。此目錄中的資源不能被R.java文件索引。 所以只能以資截流的形式讀取。一般情況下為空 res目錄是資源目錄,有三個子目錄用來保存Android程序所有資源 drawable目錄用來保存圖像文件 layout目錄用來保存與用戶界面相關(guān)的布局文件 valuse目錄保存文件顏色、風(fēng)格、主題和字符串等 在Hello Android工程中,ADT在drawable目錄中自動引入了icon.png文件,作為HelloAndroid程序的圖標(biāo)文件; 在layout目錄生成了mail.xml文件,用于描述用戶界面 main.xml文件的代碼 第7行的代碼說明在界面中使用TextView控件,TextView控件主要用來顯示字符串文本 第10行代碼說明TextView控件需要顯示的字符串,非常明顯,@string/hello是對資源的引用 Strings.xml文件的代碼 通過strings.xml文件的第3行代碼分析,在TextView控件中顯示的字符串應(yīng)是“Hello World, HelloAndroid!” 如果讀者修改strings.xml文件的第3行代碼的內(nèi)容,重新編譯、運行后,模擬器中顯示的結(jié)果也應(yīng)該隨之更改 AndroidManifest.xml是XML格式的Android程序聲明文件,包含了Android系統(tǒng)運行Android程序前所必須掌握的重要信息,這些信息包含應(yīng)用程序名稱、圖標(biāo)、包名稱、模塊組成、授權(quán)和SDK最低版本等,而且每個Android程序必須在根目錄下包含一個AndroidManifest.xml文件 |
|