为了账号安全,请及时绑定邮箱和手机立即绑定

Bundle类的作用和为Intent附加数据的两种写法

标签:
Android

Bundle类的作用


Bundle类用作携带数据它类似于Map用于存放key-value名值对形式的值。相对于Map它提供了各种常用类型的putXxx()/getXxx()方法如:putString()/getString()和putInt()/getInt()putXxx()用于往Bundle对象放入数据getXxx()方法用于从Bundle对象里获取数据。Bundle的内部实际上是使用了HashMap<String, Object>类型的变量来存放putXxx()方法放入的值

  public final class Bundle implements Parcelable, Cloneable {

              ......

   Map<String, Object> mMap;

   public Bundle() {

         mMap = new HashMap<String, Object>();

          ......

   }

   public void putString(String key, String value) {

        mMap.put(key, value);

   }

  public String getString(String key) {

         Object o = mMap.get(key);

          return (String) o;

          ........//类型转换失败后会返回null这里省略了类型转换失败后的处理代码

  }

  }

在调用Bundle对象的getXxx()方法时方法内部会从该变量中获取数据然后对数据进行类型转换转换成什么类型由方法的Xxx决定getXxx()方法会把转换后的值返回。




为Intent附加数据的两种写法


Bundle类用作携带数据它类似于Map用于存放key-value名值对形式的值。相对于Map它提供了各种常用类型的putXxx()/getXxx()方法如:putString()/getString()和putInt()/getInt()putXxx()用于往Bundle对象放入数据getXxx()方法用于从Bundle对象里获取数据。Bundle的内部实际上是使用了HashMap<String, Object>类型的变量来存放putXxx()方法放入的值

  public final class Bundle implements Parcelable, Cloneable {

              ......

   Map<String, Object> mMap;

   public Bundle() {

         mMap = new HashMap<String, Object>();

          ......

   }

   public void putString(String key, String value) {

        mMap.put(key, value);

   }

  public String getString(String key) {

         Object o = mMap.get(key);

          return (String) o;

          ........//类型转换失败后会返回null这里省略了类型转换失败后的处理代码

  }

  }

在调用Bundle对象的getXxx()方法时方法内部会从该变量中获取数据然后对数据进行类型转换转换成什么类型由方法的Xxx决定getXxx()方法会把转换后的值返回。

原文链接http://www.apkbus.com/blog-535369-75817.html

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消