继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

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

Cats萌萌
关注TA
已关注
手记 275
粉丝 50
获赞 304

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

打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP