使用者活動是繼承自 Activity 類型, 通常這樣子宣告:
public class MyActivity extends Activity {
// ... do something
}
Activity 有一些 methods (它是callback functions). 當類型被創造出來時就會被執行一次的 OnCreate( ), 通常會用關鍵字 @Override 標示用來覆蓋原始的方法, 並透過父類型 super.OnCreate( ) 去初始化它:
@Override
public void OnCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// ...
}
緊接著, 當活動在使用者可視(visible)之前, OnStart( ) 會被呼叫
public void OnStart( ) {
}
隨後, 當活動放到前景時, OnResume( ) 就會被呼叫
public void OnResume( ) {
}
此後使用者才可以與螢幕做互動, 如果有其他活動進入前景時, 該活動就會被暫停, 此時 OnPause( ) 會被呼叫. 如果隨後回到該活動, OnResume 會再度被呼叫
public void OnPause( ) {
}
如果活動被使用者隱藏看不見時, OnStop( ) 會被呼叫, 此後當有高優先權的 app 需要用到記憶體時, 就會被系統先殺掉(kill), 隨後才呼叫 OnCreate 讓它復原
public void OnStop( ) {
}
或者當使用者再度尋航到該活動時, OnRestart( ) 會被先呼叫, 緊接者 OnStart( ) 再度被呼叫, 周而復始:
public void OnRestart( ) {
}
但如果活動不再使用而停止 OnDestory( ) 會被先呼叫,隨後才會摧毀該活動釋放全部資源.
public void OnDestory( ) {
}
任何一個活動都可以經由方法 startActivity(Intent intent) 或 startActivityForResult(Intent intent, int requestCode)傳遞意圖(Intent)來啟動它.如果要讓活動傳回值必須透過後者,也就是startActivityForResult( )來啟動, 之後用方法onActivityResult接收傳回值再作後續處理動作:
public void onActivityResult(int requestCode, int resultCode, Intent data){
}
沒有留言:
張貼留言