activity之间参数传递&&获取activity返回值&&activity生命周期

Activity之间参数传递

A activity想将参数传给B activity时可以利用Intent将消息带过去

    	Intent intent = new Intent(this,BActivity.class);
    	intent.putExtra("xxxx", "xxxx");

数据量多的话可以使用

        Bundle bundle = new Bundle();       
        intent.putExtras(bundle);


获取activity返回值

A activity调用 B activity后获取B activity的返回值

B:

                                Intent data = new Intent();
				data.putExtra("name", name
				setResult(3, data);
				// 可以把当前的activity给结束掉 
				finish();


A:

/**
	 * 当被激活的activity 使用完毕 销毁的时候 就会执行onActivityresult的方法
	 */
	@Override
	protected void onActivityResult(int requestCode, int resultCode, Intent data) {
		// TODO Auto-generated method stub
		
		System.out.println("结果码为"+ resultCode);
		super.onActivityResult(requestCode, resultCode, data);

		if (data != null) {
			String name = data.getStringExtra("name");
			if (requestCode == 1) {

				et.setText(name);
			}else if(requestCode == 2){
				et2.setText(name);
			}
			
		}
	}



activity生命周期:

activity之间参数传递&&获取activity返回值&&activity生命周期_第1张图片


特别的:

               当activity渐渐出现时调用OnResume()方法  

                当activity开始被遮挡但并未完全消失时,调用onPause()方法

                若此时原activity被激活则从新调用OnResume()方法

                当activity完全不可见是调用onStop()方法

                若此时原activity被激活则从新调用OnStart()方法


特别的:当屏幕横竖屏幕切换时:

              

默认情况下(没有配置android:configChanges属性)

竖屏切横屏,销毁当前 Activity 之后,创建一个新 Activity 实例。
横屏切竖屏,销毁当前 Activity 之后,创建一个新 Activity 实例,新的 Activity 实例很快就被销毁,接着又会创建一个新 Activity 实例。如果只希望创建一个实例,可以配置 android:configChanges ="orientation"

          


          

 


当系统将我们的activity异常关闭时:

我们要将一些activity的信息保存起来,方便到时候恢复:

activity之间参数传递&&获取activity返回值&&activity生命周期_第2张图片

当应用遇到意外情况(如:内存不足、用户直接按Home键)由系统销毁一个Activity时,onSaveInstanceState()会被调用。但是当用户主动去销毁一个Activity时,例如在应用中按返回键,onSaveInstanceState()就不会被调用。因为在这种情况下,用户的行为决定了不需要保存Activity的状态。通常onSaveInstanceState()只适合用于保存一些临时性的状态,而onPause()适合用于数据的持久化保存。



               

你可能感兴趣的:(android)