Activiy是什麼?
當一個新activity啓動,它被推送到棧頂,取得用戶焦點。點擊返回時,遵循“後進先出”原則,所以,當用戶完成在當前activity中點擊back按鈕,它被彈出棧(並且被摧毀),然後恢復之前的activity。
Activiy與佈局文件共同顯示。修改setContentView(R.layout.activity_main);可以改變佈局
1.啓動另一個Activiy:
新建一個空的Main2Activity;
創建一個Button,在佈局文件中設置
<Button android:id="@+id/button" android:layout_height="120dp" android:layout_width="match_parent" tools:text="啓動另一個Activiy" />
在MainActiviy中獲取按鈕,同時給按鈕點擊事件,設置監聽
findViewById(R.id.button).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) {
//啓動新的 startActivity(new Intent(MainActivity.this,Main2Activity.class));} });
2.啓動一個網頁
在監聽裏面添加
//打開一個網頁 startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("www.baidu.com")));
3.學會打開幫組文檔
查看SDK是否下載,下載完後,在終端
open ~/Library/Android/doc
打開文檔,查看index xml文件,然後查找Activiy
(盜一張圖)
以上爲activity的運行週期
噹噹前activity不可見時(回到桌面),activity執行onPause() onStop(),當自桌面返回時執行>onRestart()>onStart>()onResume()
噹噹前activity不可見時(退出到桌面),activity執行onPauser()onStop()onDestory(),當自桌面返回時執行>onCreat()>onStart>()onResume()
當兩個activity之間相互跳轉時
A和B兩個activity
運行結果爲 A onCreate() > A onStart() > A onResume 當我們點擊按鈕啓動B時 A onPause() > B onCreate() > B onStart() > B onResume() > A onStop()
(若B爲一個對話框時,在AndroidManifest.xml文件中修改ActiviyB(將不會覆蓋全屏)
android:theme="@style/Base.Theme.AppCompat.Dialog"
A onPause() > B onCreate() > B onStart() > B onResume() 當點擊別處,對話框B消失,B onPause() > A onResume() > B onStop > B onDestory()
)