1. 程式人生 > >Android四大元件之一Activity

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回傳過來的值)