activitydemo.java
package com.wandroide.tw;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
public class activitydemo extends Activity {
private static final String TAG = "ActivityDemo";
private EditText mEditText = null;
private String mString = null;
private Button mButton = null;
private Button.OnClickListener button_listener = new OnClickListener()
{
public void onClick(View v)
{
Intent intent = new Intent();
intent.setClass(activitydemo.this, otheractivity.class);
startActivity(intent);
}
};
/**
* 程式一執行就執行onCreate()
* 所以初始化工作要在這邊做
* 或
* 當程式執行過onDestory() 被銷毀後
* 再去按此程式 就會進來執行
* 這時候程式還沒顯示在裝置螢幕上*/
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
mEditText = (EditText)findViewById(R.id.editText);
mButton=(Button)findViewById(R.id.button);
mButton.setOnClickListener(button_listener);
Log.e(TAG, "----onCreate----");
if( savedInstanceState != null )
{
mString = savedInstanceState.getString("EditTextValue");
Log.e(TAG, "====mString =" + mString );
}
}
/**
* 執行完onCreate()後 就會執行onStart()
* 或
* 程式執行完onStop()後 再回到此程式 則會執行onRestart()-->onStart()
* 這個時候程式介面已經顯示在裝置螢幕上
* 但還無法跟user互動*/
@Override
protected void onStart()
{
super.onStart();
Log.e(TAG, "----onStart----");
if( mString != null )
{
mEditText.setText(mString);
Log.e(TAG, "====mString =" + mString );
}
}
/**
* 程式執行完onStop()後 再回到此程式
* 則會執行onRestart() */
@Override
protected void onRestart()
{
super.onRestart();
Log.e(TAG, "----onRestart----");
}
/**
* 執行完onStart()後 就會執行onResume()
* 或
* 程式執行完onPause()後 再回到前景 則會執行onResume()
* 這個時候程式介面顯示在裝置螢幕上
* 而且可以跟user互動*/
@Override
protected void onResume()
{
super.onResume();
Log.e(TAG, "----onResume----");
}
/**
* 畫面被另一個activity遮住或遮住一部分
* 就會執行onPause()
* 這個時候程式介面顯示在裝置螢幕上
* 但無法跟user互動*/
@Override
protected void onPause()
{
super.onPause();
Log.e(TAG, "----onPause----");
}
/**
* 執行onPause()後 就會執行onStop()
* 這個時候程式介面沒有在裝置螢幕上*/
@Override
protected void onStop()
{
super.onStop();
Log.e(TAG, "----onStop----");
}
/**
* 執行onStop()後 就會執行onDestory()
* 這個時候程式介面沒有在裝置螢幕上*/
@Override
protected void onDestroy()
{
super.onDestroy();
Log.e(TAG, "----onDestroy----");
}
/**
* 有另一個activity開啟時 會執行onSaveInstanceState()
* 若此activity被destory後 再執行此activity
* 或
* 切換螢幕方向 Ctrl + F12 則執行此函數
* 且onCreate() 帶著savedInstanceState參數 */
@Override
protected void onSaveInstanceState(Bundle outState)
{
super.onSaveInstanceState(outState);
mString = mEditText.getText().toString();
outState.putString("EditTextValue",mString);
Log.e(TAG, "----onSaveInstanceState----");
}
/**
* 切換螢幕方向 Ctrl + F12
* onDestory() --> onCreate(帶著savedInstanceState參數)
* --> onStart() --> onRestoreInstanceState(帶著savedInstanceState參數)
* --> onResume() */
@Override
public void onRestoreInstanceState(Bundle savedInstanceState)
{
super.onRestoreInstanceState(savedInstanceState);
String myString = savedInstanceState.getString("EditTextValue");
Log.e(TAG, "----onRestoreInstanceState----");
Log.e(TAG, "====myString =" + myString );
}
}
otheractivity.java
package com.wandroide.tw;
import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
public class otheractivity extends Activity {
private static final String TAG = "OtherActivity";
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.other);
Log.e(TAG, "----other onCreate----");
}
@Override
protected void onStart()
{
super.onStart();
Log.e(TAG, "----other onStart----");
}
@Override
protected void onRestart()
{
super.onRestart();
Log.e(TAG, "----other onRestart----");
}
@Override
protected void onResume()
{
super.onResume();
Log.e(TAG, "----other onResume----");
}
@Override
protected void onPause()
{
super.onPause();
Log.e(TAG, "----other onPause----");
}
@Override
protected void onStop()
{
super.onStop();
Log.e(TAG, "----other onStop----");
}
@Override
protected void onDestroy()
{
super.onDestroy();
Log.e(TAG, "----other onDestroy----");
}
@Override
protected void onSaveInstanceState(Bundle outState)
{
super.onSaveInstanceState(outState);
Log.e(TAG, "----other onSaveInstanceState----");
}
@Override
public void onRestoreInstanceState(Bundle savedInstanceState)
{
super.onRestoreInstanceState(savedInstanceState);
Log.e(TAG, "----other onRestoreInstanceState----");
}
}

























