Activity是什麼呢?Activity是一個應用程式提供與使用者進行交流的介面。每個Activity都可以通過布局來呈現自己的使用者介面,一個應用程式通常包括很多Activity,其中有一個被稱為主Activity,這是程式第一次啟動所展示的,例如很多程式都有的歡迎介面。將Activity設定成主Activity可以通過配置AndroidManifest.xml檔案,將如下代碼複製到activity的標籤之中:
<intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter>
一個Activity可以啟動另一個Activity來實現不同的表現,當一個Activity啟動後,它被壓入一個stack中,獲得焦點,當使用者按了back按鈕後,當前的Activity從stack中彈出(即被destroyed),先前的Activity被釋放從新獲得焦點。這些涉及到Activity的生命週期,後面將進行討論。
怎麼建立一個Activity呢?通過繼承父類Activity,來建立一個屬於自己的Activity,這要求你需要實現Activity父類的回調方法,這些方法在Activity的生命週期中的不同狀態被調用,如:建立,暫停,釋放,銷毀。其中有兩個最重要的回調方法:
1.onCreate()
這個方法在Activity被建立時被調用,在這個方法應該初始化各個控制項,通過調用setContentView(R.layout.xxx)方法定義布局來展現Activity的使用者介面,其中R.layout.xxx為Activity的XML布局檔案。
2.onPause()
這個方法在使用者離開當前Activity時被調用,這就需要在這個方法中儲存使用者與當前Activity的會話,比如在EditText中輸入的值。使用者在返回當前Activity時,還應該顯示離開時所填寫的值。
當然每建立一個Activity都需要在AndroidManifest.xml檔案中註冊一個相應的Activity。如:建立的Activity的類名為:MyActivity則在檔案中需添加如下代碼:
<activity android:name=".MyActivity" android:label="@string/app_name" > </activity>
註:如果<manifest>的package的參數不是MyActivity所在的包,則上面的name應填寫完整的包名和類名(即:com.xxx.xxx.MyActivity).