安卓学习140502:Bundle

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

    重要方法:

  1. clear():清除此Bundle映射中的所有保存的数据
  2. clone():克隆当前Bundle
  3. containsKey(String key):返回指定key的值
  4. getString(String key):返回指定key的字符
  5. hasFileDescriptors():指示是否包含任何捆绑打包文件描述符
  6. isEmpty():如果这个捆绑映射为空,是则返回true
  7. putString(String key, String value):插入一个给定key的字符串值
  8. readFromParcel(Parcel parcel):读取这个parcel的内容
  9. remove(String key):移除指定key的值
  10. writeToParcel(Parcel parcel, int flags):写入这个parcel的内容

    Bundle的经典用法:

  1. 新建一个bundle类。Bundle bundle = new Bundle();  
  2. bundle类中加入数据(key -value的形式,另一个activity里面取数据的时候,就要用到key,找出对应的value) mBundle.putString("Data", "data from TestBundle");
  3. 新建一个intent对象,并将该bundle加入这个intent对象,然后发送到另一个Activity。
    Intent intent = new Intent();
    intent.setClass(TestBundle.this, Target.class);
    intent.putExtras(mBundle);
    startActivity(intent)
    
    

  4. Bundle对象可以从activity.getIntent().getExtras()中返回。 可见,启动当前activity 的Intent对象是由getIntent()来找到时
     
  5. 接收方取得数据。
    Bundle bundle = getIntent().getExtras();//得到传过来的bundle
    String data = bundle.getString("Data");//读出数据
    


  

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值