初学移动开发技术_实验二_任务四_Activity的生命周期测试

实验2 Activity Intent

1.实验目的

 1.掌握如何创建一个Activity

 2.掌握如何在Activity中添加控件并进行事件处理

 3.掌握如何通过Intent启动另外一个Activity

 4.掌握如何通过Intent在多个Activity之间传递数据 

 5.掌握Activity的生命周期

2.实验仪器

 装有Android开发环境的计算机

3.实验任务

任务4Activity的生命周期测

(1)实验效果

①点击运行模拟器

点击StartDialogActivity按钮

点击屏幕返回

点击StartNormalActivity按钮

点击 返回上页 按钮

(2) 训练目标

1) 观察Activity生命周期经历的主要方法
2) 如果使用LogCat观察输出,掌握如何设置
LogFilter


Log Tag是在MainActivity里面添加Log的时候的名字。
//  Log.d("MainActivity","onCreate");
3) 观察何时调用onPause方法?
4) 观察何时调用onStop方法?

   关于Activity的生命周期的说明:

  1. 启动Activity:系统会先调用onCreate方法,然后调用onStart方法,最后调用onResume,Activity进入运行状态。

  2. 当前Activity被其他Activity覆盖其上或被锁屏:系统会调用onPause方法,暂停当前Activity的执行。

  3. 当前Activity由被覆盖状态回到前台或解锁屏:系统会调用onResume方法,再次进入运行状态。

  4. 当前Activity转到新的Activity界面或按Home键回到主屏,自身退居后台:系统会先调用onPause方法,然后调用onStop方法,进入停滞状态。

  5. 用户后退回到此Activity:系统会先调用onRestart方法,然后调用onStart方法,最后调用onResume方法,再次进入运行状态。

  6. 当前Activity处于被覆盖状态或者后台不可见状态,即第2步和第4步,系统内存不足,杀死当前Activity,而后用户退回当前Activity:再次调用onCreate方法、onStart方法、onResume方法,进入运行状态。

  7. 用户退出当前Activity:系统先调用onPause方法,然后调用onStop方法,最后调用onDestory方法,结束当前Activity


 (3)核心代码

MainActivity里重写OnCreate等7个方法,在运行时,按步骤观察LogCat里的效果

public class MainActivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Log.d("MainActivity","onCreate");
    }

    public void StartNormal(View view){
    	Intent intent = new Intent(MainActivity.this,NormalActivity.class);
    	startActivity(intent);
    }
    public void StartDialog(View view){
    	Intent intent = new Intent(MainActivity.this,DialogActivity.class);
    	startActivity(intent);
    }

	@Override
	protected void onDestroy() {
		// TODO Auto-generated method stub
		super.onDestroy();
        Log.d("MainActivity","onDestory");

	}

	@Override
	protected void onPause() {
		// TODO Auto-generated method stub
		super.onPause();
        Log.d("MainActivity","onPause");

	}

	@Override
	protected void onRestart() {
		// TODO Auto-generated method stub
		super.onRestart();
      //  Log.d("MainActivity","onRestart");

	}

	@Override
	protected void onResume() {
		// TODO Auto-generated method stub
		super.onResume();  
		Log.d("MainActivity","onResume");

		
	}

	@Override
	protected void onStart() {
		// TODO Auto-generated method stub
		super.onStart();
        Log.d("MainActivity","onStart");

	}

	@Override
	protected void onStop() {
		// TODO Auto-generated method stub
		super.onStop();
        Log.d("MainActivity","onStop");

	}

	@Override
	protected void onSaveInstanceState(Bundle outState) {
		// TODO Auto-generated method stub
		super.onSaveInstanceState(outState);
		String tempData = "Something you just typed";
		outState.putString("data_key",tempData);
	}
	
    
}



猜你喜欢

转载自blog.csdn.net/hantongtonghan/article/details/52648123