1. 在項目的根目錄有個配置文件「AndroidManifest.xml」,是用來設置Activity的屬性的如html
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="wq.org" android:versionCode="1" android:versionName="1.0"> <uses-sdk android:minSdkVersion="4" /> <application android:icon="@drawable/icon" android:label="@string/app_name"> <activity android:name=".MyAndroidActivity" android:label="@string/app_name"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <activity android:name=".ResultActivity" android:label="@string/app_name"> </activity> </application> </manifest>
其中「android:name=".MyAndroidActivity"」裏面的「.」符號表示說當前包的意思, 也就是在<mainfest>標籤中設置的package屬性「wq.org」指定的包路徑,假如wq.org包下還有一個cc包,而且有一個Activity名爲CCActivity,那麼你配置android:name時就要寫成android:name=".cc.CCActivity",這個「.」最好仍是寫上好,不容易出錯。java
2.在頁面佈局文件中有一些相似的定義:android
<TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:id="@+id/tvPass" android:text="@string/tvPass"></TextView>
android:id="@+id/tvPass"裏面包含「@」以及「+」符號,「@」符號是將這個控件ID自動記載R文件中,「+」號表示向R文件中的內部類id中添加一個變量,名字叫tvPass,"+"至關於代碼中的new,"+id"就表示產生一個新的id,若是沒有"+",而是"@id"的話,就是引用其餘地方已經定義過的id了,這樣比較好理解app
3.介紹的比較好理解:佈局
Android中的組件須要用一個int類型的值來表示,這個值也就是組件標籤中的id屬性值。id屬性只能接受資源類型的值,也就是必須以@開頭的值,例如,@id/abc、@+id/xyz等。 若是在@後面使用「+」,表示當修改完某個佈局文件並保存後,系統會自動在R.java文件中生成相應的int類型變量。變量名就是「/」後面的值,例如,@+id/xyz會在R.java文件中生成int xyz = value,其中value是一個十六進制的數。若是xyz在R.java中已經存在同名的變量,就再也不生成新的變量,而該組件會使用這個已存在的變量的值。 也就是說,若是使用@+id/name形式,當R.java中存在名爲name變量時,則該組件會使用該變量的值做爲標識。若是不存在該變量,則添加一個新的變量,併爲該變量賦相應的值(不會重複)。 既然組件的id屬性是一個資源id就能夠,那麼天然能夠設置任何已經存在的資源id值,例如,@drawable/icon、@string/ok、@+string/you等。固然,也能夠設置android系統中已存在的資源id,例如,樓主提出的@id/android:list,那麼這個android是什麼意思呢,實際上,這個android就是系統的R類(在R.java文件中)所在的package。咱們能夠在Java代碼編輯區輸入android.R.id.,就會列出相應的資源id,例如,也能夠設置id屬性值爲@id/android:message。 <ListView android:id="@+id/android:message" android:layout_width="wrap_content" android:layout_height="wrap_content"/> 還有另一種方法查看系統中定義的id,進入<android sdk安裝目錄>\platforms\android-1.5\data\res\values目錄,找到ids.xml文件,打開後,內容以下: <?xml version="1.0" encoding="utf-8"?> <resources> <item type="id" name="price_edit">false</item> <item type="id" name="amount_edit">false</item> </resources> 若在ids.xml中定義了ID,則在layout中可以下定義@id/price_edit,不然@+id/price_edit