Android基本組件學習(Activity生命週期)

Activity

基本介紹

Activity是一個用戶界面的概念,它通常表示應用程序中的一個的屏幕。每個activity都被實現爲一個獨立的類,都繼承android.app.Activity,並重寫某些方法。每個activity都會顯示由視圖UI組成的用戶接口,對事件進行響應。

生命週期


上圖是android API中的解釋,我們可以通過android中Logger的方式,來學習瞭解Activity的生命週期。可以在這7個方法裏面,每個方法都加上logger,來標記Activity中各個方法的執行步驟。通過日誌我們發現如下流程:
  • 打開應用時,Activity先後執行了onCreate()->onStart()->onResume()。
  • 按BACK鍵時,Activity先後執行了onPause()->onStop()->onDestory()。
  • 按HOME的時候,Activity先後執行了onPause()->onStop()。
  • 再次打開應用程序時,Activity先後分別執行了onRestart()->onStart()->onResume()。

Intent

基本介紹

Intent,實現在Activity與Activity之間進行切換,描述了應用的功能,即某個Activity能夠做什麼事情。Intent描述中兩部分:action(動作)、data(數據)。action表示activity能做什麼樣的動作:MAIN、VIEW、PICK、EDIT;data表示動作對應的數據,以URI的形式表示。

功能任務

  • 廣播消息
  • 啓動service
  • 啓動activity
  • 顯示網頁或一組聯繫人
  • 撥出或接聽電話

ContentProvider

基本介紹

ContentProvider使應用與應用之間的數據可以共享。
Android中,每個應用都運行在各自的進程中,當應用需要訪問其他應用的數據時,數據需要在不同的虛擬機之間傳遞,這樣的操作有些困難(一般的,不能讀取其他應用的db文件),content provider正是用來解決不同應用包之間共享數據的。

Service

基本介紹

Service,生命週期長且沒有用戶界面,比如當正在選擇播放音樂時,又要進行其他的操作(如寫短信、發郵件…),此時的音樂應該在後臺繼續播放。
Activity中通過Context.startServiceI()啓動一個service
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章