首先 :當一個工程部署到模擬環(huán)境上后,當用戶點擊你的應用名字“android:label='@string/app_name'>”的時候,操作系統(tǒng)會根據(jù)配置清單文件(AndroidManifest.xml)尋找到下面的配置節(jié)點“
Java代碼

原地址http://leequer./blog/593272 首先 :當一個工程部署到模擬環(huán)境上后,當用戶點擊你的應用名字“android:label='@string/app_name'>”的時候,操作系統(tǒng)會根據(jù)配置清單文件(AndroidManifest.xml)尋找到下面的配置節(jié)點“ Java代碼 ![]() ;
這個配置節(jié)點下的activity節(jié)點,這個節(jié)點中的 Java代碼 ![]() 這兩個配置,告訴操作系統(tǒng),這個activity是程序運行的入口類,相當與main方法;在一個應用中只要有一個應用配這個屬性就行了; 然后 :我們看看被指定為程序入口的這個activity的代碼: Java代碼 ![]() package com.android.activity; import android.app.Activity; importandroid.os.Bundle; public class HelloWorldActivity extends Activity{ @Override public void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState); setContentView(R.layout.main);} } android平臺實例化這個activity類,其中的onCreate這個方法不是由程序員來調(diào)用的,是由android這個平臺來調(diào)用的,這個類被實例化后就直接調(diào)用這個方法了。其中的super調(diào)用的父類的方法,是用來畫出整個應用的界面的; 值得一提的是 Java代碼 ![]() setContentView(R.layout.main); 這端代碼:android的設計模式是遵守mvc設計模式的,c這層就是activity層,v層是xml文件,在工程目錄中的res下的layout目錄下的文件,布局文件,m業(yè)務層,要自己寫,不要和c層放到一起,這樣代碼的質(zhì)量很差;那我們回到這句代碼,我們現(xiàn)在知道activity相當與action了,那么在struts中負責跳轉(zhuǎn)頁面的代碼是mapping.forword('xxxx');我想大家都知道,那么類比,在activity中,負責跳轉(zhuǎn)的就是setContentview(xxx);括號中的內(nèi)容就是視圖層的引用。那我們再來看看這個引用的東西 Java代碼 ![]() R.layout.main 我前面的文章說過,R.java文件是用來引用資源的,那么看看這里我們就知道他引用了誰。對了,就是loayout目錄下的main.xml;我們可以看R.java文件中的代碼 Java代碼 ![]() package com.android.activity; public final class R { public staticfinal class attr { } public static final class drawable { publicstatic final int icon=0x7f020000; } public static final classlayout { public static final int main=0x7f030000; } public staticfinal class string { public static final int app_name=0x7f040001;public static final int hello=0x7f040000; } } Java代碼 ![]() public static final class layout { public static final intmain=0x7f030000; } 這里就是剛才調(diào)用的東西,最終會對應工程目錄下的res下的layout下的main。xml文件,如果我們在layout下再建立一個androidxml類型的文件,保存后,會在R.java中自動生成對應的索引; 再然后 說道m(xù)ain.xml文件,我們看看這個文件,以往我們都是用html或者jsp來顯示頁面,現(xiàn)在用xml了,看看有什么不同, Xml代碼 ![]() 嚴格遵守xml文件的格式, 其中,標簽 Xml代碼 ![]() LinearLayout 直接翻譯中文是線性布局,那就是一種布局方式了,swing中也有,就是指在這個標簽中的元素每個元素占一行。還有絕對布局;不建議使用,因為不知道使用者的手機屏幕大小。還有相對布局:常用; Xml代碼 ![]() TextView 相當于label標簽。 再來仔細看看,標簽中的屬性 Xml代碼 ![]() |
|