发表时间:2011-02-22
最后修改:2011-02-22
在Android的开发过程中我们很多时候需要在不同的Activity之间切换,同时进行一些参数的传输。这时候我们就需要会这方面的编程。
在Android开发中的四大组件{活动(Activity),服务(Services),广播接收者(BroadcastReceiver),内容提供者(ContentProvider)}中,活动(Activity)是一个很重要的部分,活动
(Activity)表示一个可视化的用户界面,关注用户从事的事件,几乎所有的活动都是要和用户进行交互的,一个Activity可以通过setContentView(View)设置一个可视化的界面,通过这个界面和用
户进行交互。每一个Activity都需要注册,注册的方式就是在AndroidManifest.xml配置文件中进行下列的配置设置:
<activity android:name=".ActivityName"
android:label="@string/app_name">
</activity>
以上的配置代码很简单,但是很重要,每一个Activity都需要进行这样的配置,没有这样的配置你的Activity就不用使用,当然在实际的开发过程中有时候不仅是上面的那些配置就足够了,还需要进行
意图过滤器的配置;配置玩这些之后然后就可以通过意图(Intent)实现不同Activity之间的切换和数据传输了,在实现这些之前,先让我们认识一下Intent(意图),意图说白了就是你要做一件什么
样的事情,意图负责对应用中的一次操作的动作,动作涉及数据,附加数据进行描述,意图过滤器定义了一些行为,对每一个意图在请求的时候进行过滤,意图还有很多知识,这里不多言了,以后抽个
时间专门写一个帖子来介绍下,现在我们写一下通过意图来实现不同Activity之间的切换和附加数据传输,首先实例化一个Intent对象,当然实例化Intent对象的方法有很多,
①Intent intent = new Intent(Context context,Class<?> cls);
②Intent intent = new Intent();
intent.setClass(Context context ,Class<?> cls);
③Intent intent = new Intent();
intent.setComponent(new ComponentName(Context context,Class<?> cls));
大家可以明显看出最简单的方式就是第一种,通过这种方式就得到了一个intent对象,通过这个intent对象我们可以夹带一些数据进行数据传输:
intent.putExtra(“name”,类型);根据实际需要选择合适的重载函数;
放入数据之后通过Activity和Intent对象完成最后一步:
ActivityName.startActivity(intent);
整个过程代码就是:
intent = new Intent(currentActivity, nextActivity.getClass());
intent.putExtra("String", “abc”);
intent.putExtra("INT", 123);
currentActivity.startActivity(intent);
currentActivity.finish();//可以通过这个函数来结束Activity的生命周期;
新打开的Activity可以通过:
String name = this.getIntent().getStringExtra("String");
Int age = this.getIntent().getIntExtra("INT");
来获取上一个Activity传过来的数据;
以上就是不同的Activity之间的切换和数据传输的简单讲解,希望能对朋友们有用! 】
更多Android开发学习资料