Android基础之Android的Activity周期
2012-03-04 16:33 java线程例子 阅读(184) 评论(0) 收藏 举报直接上代码:
第一个类:TestActivity
package feb.hxy; import feb.hxy.R.string; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.widget.Button; public class TestActivity extends Activity { private Button button; public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); System.out.println("TestActivity.onCreate"); button = (Button) findViewById(R.id.anotherActivity); button.setText(string.anotherActivity); button.setOnClickListener(new Button.OnClickListener() { public void onClick(View v) { Intent intent = new Intent(); intent.setClass(TestActivity.this, AnothorAcftivity.class); startActivity(intent); TestActivity.this.finish(); } }); } public void onStart() { System.out.println("TestActivity.onStart"); super.onStart(); } public void onResume() { System.out.println("TestActivity.onResume"); super.onResume(); } public void onPause() { System.out.println("TestActivity.onPause"); super.onPause(); } public void onStop() { System.out.println("TestActivity.onStop"); super.onStop(); } public void onDestroy() { System.out.println("TestActivity.onDestory"); super.onDestroy(); } public void onRestart() { System.out.println("TestActivity.onRestart"); super.onRestart(); } }第二个类:AnothorAcftivity
package feb.hxy; import feb.hxy.R.string; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.widget.Button; public class AnothorAcftivity extends Activity { private Button button; public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); System.out.println("AnothorAcftivity.onCreate"); button = (Button) findViewById(R.id.anotherActivity); button.setText(string.back); button.setOnClickListener(new Button.OnClickListener() { public void onClick(View v) { Intent intent = new Intent(); intent.setClass(AnothorAcftivity.this, TestActivity.class); startActivity(intent); //AnothorAcftivity.this.finish(); } }); } public void onStart() { System.out.println("AnothorAcftivity.onStart"); super.onStart(); } public void onResume() { System.out.println("AnothorAcftivity.onResume"); super.onResume(); } public void onPause() { System.out.println("AnothorAcftivity.onPause"); super.onPause(); } public void onStop() { System.out.println("AnothorAcftivity.onStop"); super.onStop(); } public void onDestroy() { System.out.println("AnothorAcftivity.onDestory"); super.onDestroy(); } public void onRestart() { System.out.println("AnothorAcftivity.onRestart"); super.onRestart(); } }在模拟器中运行,查看DDMS,首先看到如下内容:
点击程序中的按钮,如下:
同样也点击第二个Activity中的按钮组件,如下:
注意:并没有调用到AnotherActivity的onDestroy()方法,因为AnotherActivity中注释了:
//AnothorAcftivity.this.finish();
由此可见当调用finish()时会调用onDestroy()。此时销毁Activity。
在点击模拟器上的返回键,结果如下:

此时调用了AnotherActivity的onRestart()方法。
去掉AnotherActivity中的注释,按照以上的执行步骤,运行结果如下:
完整代码下载:TestAndroid(注:本程序使用的是2.2的模拟器)