Android四大元件之一Activity
一、Android四大元件
1.activity(頁面)
2.service(服務)
3.content provider(內容提供者)
4.broadcast receiver(廣播接收者)
二、Activity
1.是Android四大元件值一,用於顯示View,是一個負責與使用者互動的元件,可以通過setContentView(view)來顯示指定的控制元件
2.Activity建立時的生命週期
- onCreate() onStart() onResume()
3.當Activity銷燬時的宣告週期
onPause() onStop() onDestory()
4.當Activity跳轉到第二個Activity的生命週期
第一個頁面 onPause()---->onStop()
第二個頁面 onCreate()---->onStart()---->onResuse()
5.如何保證所有的Activity退出
- 註冊廣播:在主Activity中申明一個廣播接收器並註冊廣播,在子Activity中傳送廣播,當推出的時候傳送廣播就可以
- 使用集合:BaseActivity中用集合吧所有Activity新增到集合,並讓其他的Activity都繼承它,退出時,直接銷燬BaseActivity,其他繼承BaseActivity的Activity也會被銷燬
- 丟擲異常,強制退出
- System.exit(0):終止程式並殺死程序 殺掉程序的方法:點選啟動工作管理員,進入界,選擇姓名能列表項
6.Activity的啟動模式
- standard: 只要建立物件的例項,就會被新增到棧中,可重複疊加(疊加 就是隻要建立Activity就會被新增到棧中 的熱詞啟動此Activity,也會建立一個例項並新增到棧中)
- singleTop 不允許多個相同Activity疊加,當Activity在棧頂的話,啟動相同的Activity不會建立新的例項
- singleTask : 有彈棧的效果
- Singlestance 只有一個例項,並且這個例項獨立執行在一個棧中,這個棧中只有這個例項,不允許有別的Activity存在
7.startActivityForResult
startActivityForResult:僅僅是跳轉到目標頁面(無法接受目標頁面的返回值)
startActivityForResult 是Activity回傳值,裡邊設有需要跳轉的Activity和請求碼(跳到第二頁面的時候,進行頁面的finish()或通過back鍵返回上一個頁面時,將值傳給第一個Activity)
在第二個頁面需用到一個setResult()方法,此方法中需要設定第二個頁面回傳的值和響應碼
第一個頁面還需要在寫一個onActivityResult()回撥,在此方法中接收回傳資料,要判斷響應碼和請求碼是否一致
(Intent引數:接收通過Key來獲取到的資料,請求碼必須》=0,響應碼:判斷具體的Activity回傳過來的值)