標籤:
生命週期: 從出生到死亡
Activity生命週期的7個方法和3個迴圈
onCreate() 建立時調用
onRestart() 不可見到可見時調用
onStart() 使用者可見時調用
onResume() 使用者可互動時調用
onPause() 使用者不可互動時調用
onStop() 使用者不可見時調用
onDestroy() 銷毀時調用
啟動與退出的迴圈
Activity啟動 onCreate() -- onStart() -- onResume()
Activity退出 onPause() -- onStop() -- onDestroy()
可見與不可見的迴圈
Activity不可見 onPause() -- onStop()
Activity重新可見 onRestart() -- onStart() -- onResume()
焦點失去與獲得的迴圈
Activity失去焦點 onPause()
Activity獲得焦點 onResume()
-----------------------------------------
Intent 在組件之間跳轉的橋樑
intent分為如下兩類:
明確的intent (顯式的Intent)
明確指定要跳轉的Activity
不明確的intent (隱式的Intent)
沒有直接指定要跳轉哪個Activity 通過一系列過濾條件式篩選要跳轉的Activity
1.1 明確intent跳轉到相同包下的Activity
intent.setClass()
1.2 明確intent跳轉到不同包下的Activity
intent.setClassName("應用程式的包名", "Activity的包名.Activity類名");
特殊情況是:Activity的包名和應用程式的包名相同,則第二個參數可以簡寫為".Activity類名"
1.3 明確intent跳轉到不同應用下的Activity
intent.setClassName("應用程式的包名", "Activity的包名.Activity類名");
同時,被跳轉的Activity需要添加action=MAIN的過濾器
不明確的intent
需要設定的過濾條件有7個:
ComponentName --- 組件名稱 用法基本上和setClassName()大同小異
Action -- 動作
Category -- 額外的動作
Data -- 資料(格式為Uri對象)
Extra -- 額外的資料
Flag -- 標識
Type -- 資料的類型(MIME) 多媒體格式的資料類型(文本、圖片、音頻、視頻)
2.1 不明確的intent跳轉到相同包下的Activity
跳轉的Activity需要設定
intent.setAction("com.second");
同時被跳轉的Activity需要在AndroidManifest.xml中設定intent過濾器:
<intent-filter >
<action android:name="com.second"/> --- 與跳轉時set一致Action()的參數
<category android:name="android.intent.category.DEFAULT"/> -- 不能省略
</intent-filter>
2.2 不明確的intent跳轉到不同包下的Activity 方法同上
2.3 不明確的intent跳轉到不同應用下的Activiy 方法同上
Android生命週期與Intent筆記