2011-07-07 65 views
4

這是我在stackoverflow上的第一篇文章,所以我想說一聲大喜!幾天前我已經開始探索Android世界,我正在通過Mario Zechner撰寫的「開始Android遊戲」一書。活動問題(初學者)

我可能會對平臺以及迄今爲止所看到的幾件事情有很多疑問,但我知道它會變得更好。我現在要問的是關於活動:我看到了活動的生命週期。我知道活動就像屏幕一樣。我不知道的是,我是否需要在每個我編碼的活動中指定onCreate(),onResume()等方法。

預先感謝您!

回答

1

活動的整個生命週期發生在第一次調用onCreate(Bundle)到onDestroy()的最後一次調用之間。一個活動將在onCreate()中完成「全局」狀態的所有設置,並釋放onDestroy()中的所有剩餘資源。所以onCreate(Bundle)應該在活動中。 onResume()的使用取決於您的應用程序要求。 的更多信息,請到http://developer.android.com/reference/android/app/Activity.html

4

據我所知onCreate()是強制性的,其他方法取決於你如何使用活動

1

歡迎的Android的世界。

在一般情況下,它是充實了所有的方法,如在onPause()的onResume(),但很好的做法,當你創建一個Android程序,通常你只能需要以充實的onCreate()爲活動的方法, 。

除了onCreate,並且如果我的術語不正確,其他方法會遵循「默認」行爲,如果您不覆蓋它們。因此,如果您需要應用程序在暫停時執行特定的操作,那麼現在是添加您的onPause()版本的好時機,否則您可以省略它。

0

這不是強制性的,你必須指定所有這些方法或它們中的任何一個。這取決於你想要什麼類型的實現

我創建了我的活動(A),因爲它延伸活動我DONOT覆蓋任何類似的onCreate(方法),但我已經創建了一些變量並創造了一些方法。 讓我們假設我創建了第二個活動有我想要的鞋有些觀點我已經使用onCreate()方法也如果我想我在活動AI定義如果我寫class B extends A

可以得到這些變量和方法變量和方法所以使用活動中的所有方法並不是強制性的。如果你不寫你自己的實現,那麼默認的實現將起作用。

0

簡短的回答將是NO

你並不需要在每個ActivityonCreate等的代碼來指定。反正在父母Activity會有onCreate

長回答說:好的做法是不依賴於內隱/隱形代碼,但你的操控下有代碼(即使是假的)。我用所有代碼的onCreate /的onDestroy等這樣:

public static final boolean DEBUG=true; 

@Override 
public void onCreate(Bundle savedInstanceState) 
{ 
    super.onCreate(savedInstanceState); 
    if(DEBUG) 
     Log.d(TAG, "Creating "+this.toString()); 
} 
0

你應該從基類活動覆蓋它設置視圖寫onCreate()方法。在這裏應該使用setContentView()方法在onCreate()方法中產生視圖。 關於onResume(),onPause()和其他方法,寫這些並不是強制性的,但在需要實現特定功能時非常有用。

此外,作爲一個初學者,請看看在表本文檔中的1,希望這有助於你澄清你的概念: http://developer.android.com/guide/topics/fundamentals/activities.html