【正文】
一、如何在一個應用程式當中定義多個activity:
步驟如下:
(1)定義一個類,繼承activity
(2)在該類當中,複寫activity當中的oncreate()方法
(3)在androidmanifest.xml檔案中注冊該activity
詳細解釋如下:
(1)定義一個類,繼承activity:在src檔案夾裡面的包中建立一個class檔案,可命名為:secondactivity.java
(2)在該類當中,複寫activity當中的oncreate()方法:在菜單欄選擇source--->override/implement methods,彈出框,選擇其中的oncreate()方法:

注:oncreate()方法是activity運作的入口。
緊接着,在layout檔案夾中,為該activity添加布局檔案:(檔案名必須為小寫)
在該布局檔案中添加一個 <textview />
在secondactivity.java中設定該activity所使用的布局檔案,即在oncreate()方法中添加如下代碼:
打開androidmanifest.xml檔案,注意裡面的activity标簽,即以下代碼:
代碼解釋如下:
02行:代表activity的名字:包名+類名。
03行:label指定活動中标題欄的内容。
04至08行:activity的子标簽,即:
以上這段代碼放在哪個activity裡,那個activity就作為應用程式預設啟動的activity。即程式運作後的預設啟動的activity。
現在将secondactivity注冊進去,在第一個activity後面,添加如下代碼:
二、android當中的back stack(後退棧):(棧:子彈上膛,先進後出)
android作業系統隻顯示back stack中最上面的元素(隻顯示棧頂端的activity)。
在上方的圖中,當使用者點選後退按鈕時,出現以下情況:(最上方的activity将被移除,依此類推)
三、啟動一個activity的方法:即在預設啟動的activity中啟動另一個activity
核心代碼如下:
(1)生成一個意圖對象 intent
(2)調用setclass方法設定所要啟動的activity
(3)調用startactivity方法啟動activity
具體解釋如下:
【執行個體】在第一個activity點選按鈕,來啟動第二個activity;在第二個activity點選按鈕,傳回到第一個activity
(1)生成一個意圖對象 intent (intent封裝了你想做什麼這件事)
在布局檔案activity_main.xml檔案中添加一個button,并在mainactivity.java中生成button的監聽器,
生成意圖對象的代碼如下:
intent intent = new intent() ;
(2)調用setclass方法設定所要啟動的activity:
intent中的setclass方法格式如下:
intent.setclass(packagecontext, cls) ;
參數解釋如下:
第一個參數:這個context對象即目前activity對象。activity是context類的子類,此時activity向上轉型了。
第二個參數:表示意圖啟動的那個activity 。
總而言之,監聽器部分的【核心代碼】如下:
核心代碼為第04行至第09行。
【完整代碼】如下:方案一
并在清單檔案中注冊secondactivity,添加如下代碼:
或者如果不綁定監聽器的話,可以對布局檔案中的button添加如下代碼:android:onclick="gotosecondactivity"
【完整代碼】如下:方案二
生命周期描述如下:
當使用者點選目前預設的mainactivity中的按鈕後,會跳到secondactivity。生命周期如下:
啟動預設activity時:
mainactivity:oncreate
mainactivity:onstart
mainactivity: onresume
點選按鈕後,跳到secondactivity:(mainactivity被保留至棧底)
mainactivity:onpause
secondactivity:oncreate
secondactivity:onstart
secondactivity: onresume
mainactivity: onstop
按傳回菜單後,回到mainactivity:(secondactivity被銷毀)
secondactivity: onpause
mainactivity:onrestart
secondactivity: onstop
secondactivity: ondestroy
當使用者打開應用程式,之後按home鍵傳回到首頁(或者按電源鍵,效果是一樣的),再回到原來的程式。生命周期描述如下:
按home鍵傳回到首頁:
mainactivity:onstop
再回到原來的程式:
mainactivity:onresume