【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()。关于每一个方法的调用情况用下面这张图就可以说明了:

【Android基础】(1)四大核心组件之Activity_第1张图片


二 Activity样式

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

设置,要是只希望某一个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());
		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中存的值。

你可能感兴趣的:(Android基础,Android,Activity,核心组件)