您的位置:首页 > 移动开发 > Android开发

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

2014-12-10 09:53 851 查看
文章出处:/article/1876460.html

说起来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中存的值。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: