Android的Activity學習筆記

在開發Android的Mobile Application當中,Activity是相當重要的一個觀念。這一篇紀錄著我學習Activity相關的筆記,也歡迎大家留言討論。


一個Activity在Android中,代表著一個和使用者互動的介面視窗。一般來說,一個application會包含數個activities,比如說一個電子郵件的app,可能就有撰寫新郵件、閱讀信件、顯示新郵件等不同的Activities。

當一個application啟動的時候,使用者會看到一個主要的activity,這一個activity可以去呼叫其他的activity已達到不同的目的。每當一個新的activity啟動時,前一個activity的狀態就會變成停止(stopped),Android會把停止的activity放到"堆疊(back stack)"中,同時,Android會遵守【後進先出(Last in, First out)】的規則,當你在目前的activity作完處理後,要回到前一個activity,Android就會把最後進到stack中的activity給resume給使用者。

在Activity的生命週期(Lifecycle)中,有很多不同的狀態,每個狀態都有對應的callback方法,你在不同的狀態可以呼叫對應的callback方法來處理這個狀態應該做的事情。比如說在stopped狀態時就會去試放database connection object,而在resumes的時候會去取得應該得到的resource。

Activity的生命週期可以參考官方網站的一張圖表,長方形的是各種callback method,有顏色的是實際的狀態:


Create Activity

要建立activity,你的類別必須要去繼承Activity類別。接著在這個activity類別中,有一些callback methods要去實作,讓activity轉換到該狀態時知道要做些什麼事情。

  • onCreate():用來初始化必要的物件,同時使用setContentView()方法來設定畫面。
  • onPause():這個階段表示目前這個activity到背景(background)了,使用者暫時或永久離開你的activity,因為你不知道使用者會不會回來,所以要做user data persistent。


要特別注意的是,當你去Override這些callback methods時,要記得去呼叫父類別對應的methods。比如說super.onPause()

【相關閱讀】

Android Develop Guide - Activity
Android Activity筆記
Android 生命週期簡介

Share this post!

Bookmark and Share

0 意見: