【Android基础】(1)四大核心组件之Activity

文章出处:http://blog.csdn.net/scarthr/article/details/41842627

说起来Android四大核心组件,大家肯定都知道是Activity、Service、BroadcastReceiver和ContentProvider,今天我们来看看第一个Activity。


一 生命周期

7个生命周期:onCreate()、onStart()、onResume()、onPause()、onStop()、onRestart()、onDestroy()。关于每一个方法的调用情况用下面这张图就可以说明了:



二 Activity样式

要设置整个应用的样式,可以在Manifest中的<application>标签内使用
        android:theme="@android:style/Theme.NoTitleBar" 

设置,要是只希望某一个Activity有样式,将上述代码放在<activity>标签内就可以了。


三 Activity之间传递数据

Activity之间的数据传递可以使用Intent来实现。

Intent有两种包装类型使用:

1. 直接使用putExtra(key, value);

例如:

		Intent intent = new Intent();
		intent.putExtra("name", "Jerry");
		intent.putExtra("number", 10);

2. 创建Bundle对象,使用Bundle的putString等方法封装好数据后,用Intent的putExtras(bundle)实现。

		Intent intent = new Intent();
		Bundle bundle = new Bundle();
		bundle.putStringArray("stringarray", new String[] { "第一个", "第二个" });
		bundle.putStringArrayList("list", new ArrayList<String>());
		intent.putExtras(bundle);

两种方法第二种所能传递的数据的种类更多一些。


四 Activity的启动和关闭

1. startActivity(Intent intent)

 这种方法启动的Activity是不需要回传值的方法。

2. startActivityForResult(Intent intent, int requestCode)

在启动另一个Activity的使用使用

		startActivityForResult(intent, 10);
这种可以监听回传值。使用这种方法的时候,需要在该Activity内复写onActivityResult(int requestCode, int resultCode, Intent data)方法,requestCode是启动方法中的参数,resultCode是回传回来的值,data是回传回来的可以包装数据的对象:

	@Override
	protected void onActivityResult(int requestCode, int resultCode, Intent data) {
		// 在这里做你想做的事情
		super.onActivityResult(requestCode, resultCode, data);
	}

然后在包装回传值的Activity中需要使用setResult(int resultCode, Intent data)后调用finish()方法关闭即可实现回传值。

		setResult(100);
		finish();

这里的requestCode存的就是最开始的那个10,100就是在上面那个方法中resultCode中存的值。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值