Bundle传值与取值

 

 通过下面的方法发送对象。Bundle类也实现了Parcelable接口,一般在android中我们是通过Bundle来封装数据并进行传送的。

Intent intent = new Intent();  

intent.setClass(this, SubActivity.class);  

// 直接添加  

//intent.putExtra("MyData", new ParcelableData());  

  

// 通过Bundle  

Bundle bundle = new Bundle();  

bundle.putString("MyString", "test bundle");  

bundle.putParcelable("MyData", new ParcelableData());  

intent.putExtras(bundle);  

startActivity(intent);  

 

下面的接收对象的方法。

//ParcelableData parcelableData = getIntent().getParcelableExtra("MyData");  

Bundle bundle = getIntent().getExtras();  /取出来的是个数组

 

//Bundle e = intent.getExtras();//取出来的是个数组

 

ParcelableData parcelableData = bundle.getParcelable("MyData");  

//通过相应的key,取出相应的值

String testBundleString = bundle.getString("MyString");  

Log.v("string=", testBundleString);  

Log.v("name=", parcelableData.getName());  

Log.v("age=", ""+parcelableData.getAge());  

 

Android Bundle类介绍以及应用

Bundle类是一个final类,其功能是“A mapping from String values to various Parcelable types.”,也就是说是一个存储和管理key-value对的类,多应用于Activity之间相互传递值

结构函数

1 public Bundle ()

功能:构造一个新的,空束。

2 public Bundle (ClassLoader loader)

功能:构造一个新的空包,使用一个特定的ClassLoader实例ParcelableSerializable对象。

3 public Bundle (int capacity)

功能:构造一个新的,空束大小举行的元素数量。

参数:捆绑的初始容量

4 public Bundle (Bundle b)

功能:构造一个包,包含给定包的映射的副本。

参数:要复制的捆绑Parameters

b  a Bundle to be copied. 

公共方法

1 public void clear ()

功能:从这种捆绑的映射中移除所有元素。

2 public boolean containsKey (String key)

功能:如果给定的关键是在这种捆绑的映射中,则返回true

参数:一个字符串键

3 public int describeContents ()

功能:报告Parcelable的内容的性质

参数:一个位掩码,表示一套特殊的对象类型编组的Parcelable

4 public Object get (String key)

功能:返回与给定键的对象的入口。

参数:一个字符串键

5 public boolean getBoolean (String key)

功能:返回与给定的密钥,或默认值相关联的,如果没有所需的类型的映射关系,给定键的存在值。

参数:

6 public boolean getBoolean (String key, boolean defaultValue)

功能:回与给定的密钥,或默认值相关联的,如果没有所需的类型的映射关系,给定键的存在值

参数

7 public boolean[] getBooleanArray (String key)

功能:返回与给定的密钥,或者为null,如果没有所需的类型映射为给定的密钥或一个空值是明确与该键关联的存在值。

参数

8 public Bundle getBundle (String key)

功能:返回与给定的密钥,或者为null,如果没有所需的类型映射为给定的密钥或一个空值是明确与该键关联的存在值。

参数

9 public byte getByte (String key)

功能:返回给定的密钥,或(字节)0,如果没有所需的类型的映射关系,给定键的存在价值。参数

10 public Byte getByte (String key, byte defaultValue)

功能:返回与给定的密钥,或默认值相关联的,如果没有所需的类型的映射关系,给定键的存在值。参数

11 public byte[] getByteArray (String key)

功能:返回与给定的密钥,或者为null,如果没有所需的类型映射为给定的密钥或一个空值是明确与该键关联的存在值。

参数

12 public char getChar (String key)

功能:返回与给定的密钥,或虚假的关联,如果没有所需的类型的映射关系,给定键的存在值。

参数

13 public char getChar (String key, char defaultValue)

功能:返回与给定键关联的值,或(char)的0,如果没有所需的类型映射给定键的存在。

参数

14 public char[] getCharArray (String key)

功能:返回与给定的密钥,或者为null,如果没有所需的类型映射为给定的密钥或一个空值是明确与该键关联的存在值。

参数

15 public CharSequence getCharSequence (String key, CharSequence

功能:

参数

16 public CharSequence getCharSequence (String key)

功能:

参数

17 public CharSequence[] getCharSequenceArray (String key)

功能:返回与给定的密钥,或者为null,如果没有所需的类型映射为给定的密钥或一个空值是明确与该键关联的存在值。

参数

18 public ArrayList getCharSequenceArrayList (String key)

功能:返回与给定的密钥,或者为null,如果没有所需的类型映射为给定的密钥或一个空值是明确与该键关联的存在值。

参数:

19 public ClassLoader getClassLoader ()

功能:返回当前这种捆绑关联的ClassLoader

参数

20 public double getDouble (String key)

功能:返回给定的密钥,或0.0,如果没有所需的类型的映射关系,给定键的存在值。

参数

21 public double getDouble (String key, double defaultValue)

功能:返回与给定的密钥,或默认值相关联的,如果没有所需的类型的映射关系,给定键的存在值。

参数

22 public double[] getDoubleArray (String key)

功能:返回与给定的密钥,或者为null,如果没有所需的类型映射为给定的密钥或一个空值是明确与该键关联的存在值。

参数

23 public float getFloat (String key)

功能:返回与给定的密钥,或0.0f相关,如果没有所需的类型的映射关系,给定键的存在的值。

参数

24 public float getFloat (String key, float defaultValue)

功能:返回与给定的密钥,或默认值相关联的,如果没有所需的类型的映射关系,给定键的存在值。

参数

25 public float[] getFloatArray (String key)

功能:返回与给定的密钥,或者为null,如果没有所需的类型映射为给定的密钥或一个空值是明确与该键关联的存在值。

参数

26 public int getInt (String key, int defaultValue)

功能:

参数

27 public int getInt (String key)

功能:

参数

28 public int[] getIntArray (String key)

功能:

参数

29 public ArrayList getIntegerArrayList (String key)

功能:

参数

30 public long getLong (String key)

功能:

参数

31 public long getLong (String key, long defaultValue)

功能:

参数

32 public long[] getLongArray (String key)

功能:

参数

33 public T getParcelable (String key)

功能:

参数

34 public Parcelable[] getParcelableArray (String key)

功能:

参数

35 public ArrayList getParcelableArrayList (String key)

功能:

参数

36 public Serializable getSerializable (String key)

功能:

参数

37 public short getShort (String key)

功能:

参数

38 public short getShort (String key, short defaultValue)

功能:

参数

39 public short[] getShortArray (String key)

功能:

参数

40 public SparseArray getSparseParcelableArray (String key)

功能:

参数

41 public String getString (String key, String defaultValue)

功能:

参数

42 public String getString (String key)

功能:

参数

43 public String[] getStringArray (String key)

功能:

参数

44 public ArrayList getStringArrayList (String key)

功能:

参数

45 public boolean hasFileDescriptors ()

功能:

参数

46 public boolean isEmpty ()

功能:

参数

47 public Set keySet ()

功能:

参数

48 public void putAll (Bundle map)

功能:从这种捆绑捆绑插入的所有映射。

参数

49 public void putBoolean (String key, boolean value)

功能:插入一个布尔值,这个捆绑的映射取代任何现有的值给定键。无论是键或值可能为空

参数

50 public void putBooleanArray (String key, boolean[] value)

功能:布尔数组插入到这个包的映射值,给定键的替换任何现有的值。无论是键或值可能为空。

参数

51 public void putBundle (String key, Bundle value)

功能:插入到这个包的映射束值,给定键的替换任何现有的值。无论是键或值可能为空。

参数

52 public void putByte (String key, byte value)

功能:

参数

53 public void putByteArray (String key, byte[] value)

功能:

参数

54 public void putChar (String key, char value)

功能:

参数

55 public void putCharArray (String key, char[] value)

功能:

参数

56 public void putCharSequence (String key, CharSequence value)

功能:

参数

57 public void putCharSequenceArray (String key, CharSequence[] value) 功能:

参数

58 public void putCharSequenceArrayList (String key, ArrayList value)

功能:插入一个ArrayList值映射到这个捆绑的,给定键的替换任何现有的值。无论是键或值可能为空。

参数

59 public void putDouble (String key, double value)

功能:

参数

60 public void putDoubleArray (String key, double[] value)

 功能:

参数

61 public void putFloat (String key, float value)

功能:

参数

62 public void putFloatArray (String key, float[] value)

功能:

参数

63 public void putInt (String key, int value)

功能:

参数

64 public void putIntArray (String key, int[] value)

功能:

参数

65 public void putIntegerArrayList (String key, ArrayList value)

功能:

参数

66 public void putLong (String key, long value)

功能:

参数

67 public void putLongArray (String key, long[] value)

功能:

参数

68 public void putParcelable (String key, Parcelable value)

功能:

参数

69 public void putParcelableArray (String key, Parcelable[] value)

功能:插入到这个包的映射Parcelable值,给定键的替换任何现有的值。无论是键或值可能为空。

参数

70 public void putParcelableArrayList (String key, ArrayList<? extends Parcelable> value)
功能:

参数

71 public void putSerializable (String key, Serializable value)

功能:这种捆绑的映射插入到序列化的值,给定键的替换任何现有的值。无论是键或值可能为空。

参数

72 public void putShort (String key, short value)

功能:

参数

73 public void putShortArray (String key, short[] value)

功能:

参数

74 public void putSparseParcelableArray (String key, SparseArray<? extends Parcelable> value)

功能:

参数

75 public void putString (String key, String value)

功能:

参数

76 public void putStringArray (String key, String[] value)

功能:

参数

77 public void putStringArrayList (String key, ArrayList value)

功能:

参数

78 public void readFromParcel (Parcel parcel)

功能:

参数

79 public void remove (String key)

功能:

参数

80 public void setClassLoader (ClassLoader loader)

功能:

参数

81 public int size ()

功能:

参数

82 public synchronized String toString ()

功能:

参数

83 public void writeToParcel (Parcel parcel, int flags)

功能:捆绑内容写入到一个包裹,通常它是通过IBinder连接通过。

参数

范例

1)新建一个bundle

       Bundle mBundle = new Bundle();   

2bundle类中加入数据(key -value的形式,另一个activity里面取数据的时候,就要用到key,找出对应的value

       mBundle.putString("Data", "data from TestBundle");  

(3)新建一个intent对象,并将该bundle加入这个intent对象

     Intent intent = new Intent();     

     intent.setClass(TestBundle.this, Target.class);    

     Bundle mBundle = new Bundle();    

     mBundle.putString("Data", "data from TestBundle");//压入数据     

     intent.putExtras(mBundle);    

     startActivity(intent);  

4

     Bundle bundle = getIntent().getExtras();//得到传过来的bundle   

     String data = bundle.getString("Data");//读出数据 

 

更多相关文章

  1. 【Android】项目常用功能集锦(一)
  2. Android启动动画
  3. adb:) adb install
  4. android实现倒计时功能的方法
  5. Android开发实战使用(VR技术实现360°全景视频播放功能)
  6. 《第一行代码Android》学习总结第十章 Service实践——下载功能
  7. java android HTTP应用程序设计
  8. android 7自定义相机预览及拍照功能
  9. Android(安卓)Volley.jar包下载

随机推荐

  1. 老罗Android开发视频教程( android解析jso
  2. 2007.12.10.几个与Android有关的网址
  3. Android利用调试器调试程序
  4. LinearLayout 和 RelativeLayout的属性对
  5. 老罗Android开发视频教程 (android解析xml
  6. android adb shell 命令大全
  7. Android VectorDrawable与SVG
  8. Android中margin和padding的区别
  9. Android学习路线图
  10. android 各种小项目