2011-11-09 32 views
2

我正在學習android,但在java中有一個相當公平的背景,所以我被很多教程直接擴展(sub-classing)活動有點困惑?我應該爲我的活動提供一個活動的子類嗎?

我想在我的所有活動中正確處理活動生命週期,我大概有4或5個,但顯然每個活動都可以按住主鍵,用戶可以打開電源按鈕。

我想什麼是實現在生命週期的各個階段在我的應用程序的情況下單個活動

public class MyActivity extends Activity { 
//overide the lifecycle methods 
    protected void onCreate(Bundle savedInstanceState) { } 

    protected void onStart() { 
      //do my start stuff 
    } 
    protected void onResume() { 
      //open db connection 
    } 
    protected void onPause() { 
      //close db connection 

    } 
} 

我這麼問是因爲我已經習慣了工作與數據庫和處理關閉每個活動中的連接,當我可以在更高級別處理它似乎很奇怪。

我想擴展MyActivity這是一個合理的方法,或者我在這裏脫穎而出嗎?

回答

3

我認爲這是一個好主意,有一個Abstract類擴展Activity並把所有的常用操作(就像你提到的Home按鍵操作,進度欄操作,搜索功能等),由所有Activities使用的常量。您可能還想要子類Application並存儲需要在全局上下文中訪問的變量。

看看Google開發的一些應用程序,並嘗試使用這些設計模式。 I/O Schedule app就是其中之一。

+0

+1好答案我剛剛瀏覽了BaseActivity及其子類,很好的例子! – Luke

2

我有一個活動超類的一些實用功能,但爲了保證是一般用途,我還需要將所有這些也一併列出。這對你來說可能並不重要,但它確實改變了我的做法,使其更具代表性。

如果滿足您的需求,我不認爲它有什麼根本性的錯誤,並且通用超類的功能在您的應用程序的非Android活動中基本相同。

相關問題