四大组件中的三大组件(Activity、Service、Receiver)都支持在Intent中传递Bundle数据是一种简单的传递方式。
实例如下:
两个activity之间的通讯可以通过bundle类来实现,做法就是: 一、写入数据:(1)新建一个bundle类[java] view plain copy- Bundle mBundle = new Bundle();
(2)bundle类中加入数据(key -value的形式,另一个activity里面取数据的时候,就要用到key,找出对应的value)[java] view plain copy- mBundle.putString("Data", "data from TestBundle");
(3)新建一个intent对象,并将该bundle加入这个intent对象[cpp] view plain copy- Intent intent = new Intent();
- intent.setClass(TestBundle.this, Target.class);
- intent.putExtras(mBundle);
两个类如下:intent从TestBundle类发起,到Target类。 二、读取数据- Bundle bundle = getIntent().getExtras();
-
- String data = bundle.getString("Data");
1、实例化Bundle 一个对象,用putString(标记,数据)来将数据导入到Bundle对象中; 2、然后将Bundle对象导入到Intent对象中;3、Intent启动另一个activity。4、Bundle对象可以从activity.getIntent().getExtras()中返回。可见,启动当前activity 的Intent对象是由getIntent()来找到的。5、通过Bundle的getString()方法,就可以读出所要的数据。