一、Android應用結構和資源
寫在前面的話:
剛開始自學Android,看了各位大牛的部落格,萌生出將自己學習過程記錄下來的想法。一來記錄下學習進度和遇到的問題、解決問題的過程和方法,爭取以後遇到同樣的問題能回來找到答案;二來希望能夠在互相交流中共同進步。學習資料為《瘋狂Android講義》和各位大牛的部落格,引用部分內容希望諒解。千里之行始於足下,從現在開始一點一滴積累,希望某一天成為一位優秀的Android攻城獅。
1、目錄結構:
1.1 建立一個HelloWorld專案,會生成一個HelloWorld目錄,目錄中檔案結構如下:
HelloWorld
|-res
|-values
|-layout
|-drawable-ldpi
|-drawable-mdpi
|-drawable-hdpi
|-drawable-xhdpi
|-drawable-xxhdpi
|-src
|-java原始檔
|-AndroidManifest.xml
1.2 目錄解析:
res:各種資原始檔
values:各種xml格式的資原始檔,如字串資源string.xml、顏色資源color.xml、尺寸資源dimens.xml等
layout:介面佈局檔案
drawable-ldpi:小圖片檔案,對應120dip
drawable-mdpi:中圖片檔案,對應160dip
drawable-hdpi:大圖片檔案,對應240dip
drawable-xhdpi:高清圖片檔案,對應320dip
drawable-xxhdpi:超清圖片檔案,對應480dip
src:普通的、儲存Java原始檔的目錄
AndroidManifest.xml:Android專案系統清單檔案,控制Android應用的名稱、圖示、訪問許可權等整體屬性,每個Acitivity必須在這個檔案中宣告
1.3 關於不同的圖片資料夾:目前主流做法都是把圖片檔案放在drawable-hdpi資料夾內,和圖片相關的xml檔案(如設定EditText邊框)放在drawable資料夾內。系統會根據dip的大小選擇對應目錄下的資原始檔。
以上res、src目錄和AndroidManifest.xml檔案是Android專案必須的,下面的目錄和檔案可選。
Build.xml:Ant生成檔案,使用它來通過Ant生成、安裝Android專案
bin:用於存放生成的目標檔案的目錄,如Java的二進位制檔案、資源打包檔案.ap_字尾、Dalvik虛擬機器的可行性檔案.dex字尾等
gen:儲存Android自從生成的R.java清單檔案的目錄
R.java:Android的資源字典。每類資源對應R類的一個內部類,為自動生成且不能手動修改
2、資源引用
2.1 在Java程式碼中使用資源,通過R.*.*來引用資源
public static final class{ //對應一個資源項 publicstatic final int app_name=0xaaaaaaaa; }
2.2 Java程式碼中通過R.string.app_name來引用到"HelloWorkd"字串常量,如:
String appName = new String(R.string.app_name);
等價於:
String appName = new String("HelloWorld");
在Java程式碼中操作相應的元件,通過findViewById(XML中給資源定義的識別符號),如:
TextView text = (TextView)findViewById(R.id.text1);
就能呼叫TextView的各種方法(如text.setText("test"))操作XML中定義的TextView元件。
2.3 在XML中使用資源,@<資源對應的內部類名>/<資源項的名稱>來引用資源,如:
@string/app_name就能引用到"HelloWorld"字串常量
@drawable/pic就能引用到drawable目錄下名為pic的圖片資源
2.4 在XML中使用識別符號,@+id/<識別符號>來給資源定義識別符號,如:
android:id="@+id/ok",在Java程式碼中就可以通過findViewById獲取該資源