手记

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

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

0人推荐
随时随地看视频
慕课网APP