Android学习日志之二:Activity知识点总结

Activity:活动,Android基本组件之一,是视图的逻辑实现,每一个活动都必须在AndroidManifest.xml文件中注册。

生命周期:活动被启动后会进入返回栈,并位于栈顶,返回栈遵循“后进先出”规则,当用户按下back键或者调用finish( )方法时,活动被出栈。

运行状态——活动位于栈顶

暂停状态——活动虽不在栈顶,但仍然可见

停止状态——活动既不在栈顶,也不可见

销毁状态——活动被出栈

生命周期中的七个回调方法:

  protected void onCreate(Bundle savedInstanceState);活动被创建时自动调用,之后该活动被入栈

  protected void onStart( );活动由不可见变为可见时调用

  protected void onResume( );活动准备与用户进行交互时调用,之后活动位于栈顶

  protected void onPause( );当启动另一个活动时,本活动会调用此方法

  protected void onStop( );当启动另一个活动时,若本活动变为不可见时,会自动调用此方法

  protected void onDestroy( );活动被销毁出栈前调用

  protected void onRestart( );活动由不可见变为可见时调用,之后会依次调用onStart( )、onResume( )方法

启动活动:startActivity(Intent intent); startActivityForResult(Intent intent,int requestCode)

销毁活动:finish( )

活动间传递数据:

活动A启动活动B,并向B传递数据,如下所示

public class ActivityA extends Activity {

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_a);
		Intent intent=new Intent(ActivityA.this,ActivityB.class);
		intent.putExtra("data","what");
		startActivity(intent);
	}
	
}

public class ActivityB extends Activity {

	@Override
	protected void onCreate(Bundle savedInstanceState){
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_b);
		Intent intent=getIntent();
		String data=intent.getStringExtra("data");
	}
	
}


活动A启动活动B,再由B向A返回数据,如下所示

public class ActivityA extends Activity {


	private final int REQUEST_CODE=0;
	
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_a);
		Intent intent=new Intent(ActivityA.this,ActivityB.class);
		startActivityForResult(intent,REQUEST_CODE);
	}
	
	@Override
	protected void onActivityResult(int requestCode,int resultCode,Intent data){
		switch(requestCode){
		case REQUEST_CODE:
			if(resultCode==RESULT_OK){
				String string=data.getStringExtra("output");
			}
			break;
		default:
			break;
		}
	}
}

public class ActivityB extends Activity {

	@Override
	protected void onCreate(Bundle savedInstanceState){
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_b);
		Intent intent = new Intent();
		intent.putExtra("output", "what");
		setResult(RESULT_OK,intent);
		finish();
	}
	
}






 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值