2010年5月15日 星期六

Android程式設計(五) 觀察Activity生命週期

Android提供Log函式可以讓我們在程式碼中加入稽核記錄,再利用LogCat工具來檢視記錄,透過Log記錄來檢查程式程行的軌跡,可協助我們分析程式。
應用程式要引用Log函式很簡單,只要import android.util.Log,程式中就可使用Log函式。為方便我們管理或識別記錄,Android提供5種Log函式:
Log.v  完整(verbose)
Log.d  除錯(debug)
Log.i  通知(info)
Log.w  警告(warn)
Log.e  錯誤(error)
這些Log函式的第一個參數是自訂的工作記錄標籤,以方便區隔不同activity/service所建立的記錄,第二個參數為要寫入的工作記錄訊息內容。
以下以追踨activity的生命週期為例,說明如何應用Log功能來觀察activity狀態切換時onXX()方法之執行順序。
1. 建立LC-LOGGER專案
(1). Project Name: LC-LOGGER
(2). Build Target: Android 1.5
(3). Application Name: Life Cycle Logger
(4). Package Name: android.logger
(5). Create Activity: Logger
2. 覆寫onXX()方法
    執行「Source」功能表「Override/Implement methods…」命令,覆寫onDestroy、onPause、onRestart、onRestoreInstanceState、onResume、onSaveInstanceState、onStart及onStop方法
3. 使用Log函式記錄適宜之訊息
    在每一個onXX方法最後加上Log.d()函式,例如:
    protected void onDestroy() {
        // TODO Auto-generated method stub
        super.onDestroy();
        Log.d("SSWU", "onDestroy");
   }
4. 以除錯模式執行程式
5. 切換到「Debug」環境配置,觀察LogCat窗格內容

按下LogCat窗格「+」圖示則可設定訊息過濾器(Log filter),例如只要顯示被標示"SSWU"標籤的記錄,方便觀察Activity狀態變化時記錄的LOG訊息。