bundle实现Activity之间的数据传递
2013-12-16 14:51
155 查看
在Activity中通过Intent跳转到另外的Activity时,如果希望同时能够传递数据,则可以利用bundle,先将数据放到bundle对象中,然后为Intent添加该bundle对象,这样就实现了参数的批量添加,
关于这个知识点本人觉得传智的讲义说的比较清楚
Bundle类用作携带数据,它类似于Map,用于存放key-value名值对形式的值。相对于Map,它提供了各种常用类型的putXxx()/getXxx()方法,如:putString()/getString()和putInt()/getInt(),putXxx()用于往Bundle对象放入数据,getXxx()方法用于从Bundle对象里获取数据。Bundle的内部实际上是使用了HashMap<String, Object>类型的变量来存放putXxx()方法放入的值
在调用Bundle对象的getXxx()方法时,方法内部会从该变量中获取数据,然后对数据进行类型转换,转换成什么类型由方法的Xxx决定,getXxx()方法会把转换后的值返回。
除此之外我们也可以单个添加参数,这种写法使用起来比较方便,而且只需要编写少量的代码。
Intent提供了各种常用类型重载后的putExtra()方法,如: putExtra(String name, String value)、 putExtra(String name, long value),在putExtra()方法内部会判断当前Intent对象内部是否已经存在一个Bundle对象,如果不存在就会新建Bundle对象,以后调用putExtra()方法传入的值都会存放于该Bundle对象
Intent intent = new Intent(); intent.setClass(EX03_10.this,EX03_10_1.class); /*new一个Bundle对象,并将要传递的数据传入*/ Bundle bundle = new Bundle(); bundle.putDouble("height",height); bundle.putString("sex",sex); /*将Bundle对象assign给Intent*/ intent.putExtras(bundle); /*调用Activity EX03_10_1*/ startActivity(intent);
关于这个知识点本人觉得传智的讲义说的比较清楚
Bundle类用作携带数据,它类似于Map,用于存放key-value名值对形式的值。相对于Map,它提供了各种常用类型的putXxx()/getXxx()方法,如:putString()/getString()和putInt()/getInt(),putXxx()用于往Bundle对象放入数据,getXxx()方法用于从Bundle对象里获取数据。Bundle的内部实际上是使用了HashMap<String, Object>类型的变量来存放putXxx()方法放入的值
在调用Bundle对象的getXxx()方法时,方法内部会从该变量中获取数据,然后对数据进行类型转换,转换成什么类型由方法的Xxx决定,getXxx()方法会把转换后的值返回。
除此之外我们也可以单个添加参数,这种写法使用起来比较方便,而且只需要编写少量的代码。
Intent intent = new Intent(); intent.putExtra("name", "xxxxxx");
Intent提供了各种常用类型重载后的putExtra()方法,如: putExtra(String name, String value)、 putExtra(String name, long value),在putExtra()方法内部会判断当前Intent对象内部是否已经存在一个Bundle对象,如果不存在就会新建Bundle对象,以后调用putExtra()方法传入的值都会存放于该Bundle对象
相关文章推荐
- Android判断网络状态是否断开+Android完全关闭应用程序+ 本文讲述了Android中不同Activity之间的数据传递 — Bundle对象的实现(-)+Android中Bundle的使用示例
- [读书摘记]不同Activity之间的数据传递--Bundle对像的实现
- 不同Activity之间的数据传递--Bundle对象的实现
- 2014-10-25Android学习--------activity之间批量传递数据----Bundle类的实现
- 不同Activity之间传递数据--Bundle对象和startActivityForResult方法的实现
- 不同Activity之间传递数据--Bundle对象和startActivityForResult方法的实现
- Android成长之路-关于bundle实现两个activity之间的数据传递
- bundle实现Activity之间的数据传递
- Android成长之路-关于bundle实现两个activity之间的数据传递
- 利用Bundle实现Activity之间的数据传递。
- 不同Activity之间的数据传递---Bundle对象的实现
- Bundle对象实现不同Activity之间数据传递
- Ex3.10 不同Activity之间的数据传递——Bundle对象的实现
- 使用Intent实现activity之间的数据传递
- 实现2个Activity之间跳转及数据的传递
- [Android]通过剪切板实现Activity之间传递数据
- Android中级教程(三)之不同Activity之间的数据传递---Bundle对象的使用!
- Android中activity之间传递数据的几种实现方法
- 使用bundle在Activity之间传递数据
- Android基于Intent实现Activity之间数据传递的方法