Bundle携带对象来传输对象

3 篇文章 0 订阅
1 篇文章 0 订阅

传输的对象需要实现序列化:有两种方式,一种是实现Serializable接口,就是原来的java方式;另外一种是android的Parcelable方式,这个性能可能好一些,我猜的,但是这在需要手动去写Parcelable接口的实现。

Serializable存数据:

  1. Person mPerson = new Person();  
  2.         mPerson.setName("frankie");  
  3.         mPerson.setAge(25);  
  4.         Intent mIntent = new Intent(this,ObjectTranDemo1.class);  
  5.         Bundle mBundle = new Bundle();  
  6.         mBundle.putSerializable(SER_KEY,mPerson);  
  7.         mIntent.putExtras(mBundle); 

Serializable取数据:

 // 获取启动该ResultActivity的Intent
24         Intent intent = getIntent();
25         // 获取该Intent所携带的数据
26         Bundle bundle = intent.getExtras();
27         // 从bundle数据包中取出数据
28         Person person = (Person) bundle.getSerializable("person");
Parcelable存数据:

  1. Intent mIntent = new Intent(this,ObjectTranDemo2.class);  
  2.         Bundle mBundle = new Bundle();  
  3.         mBundle.putParcelable(PAR_KEY, mBook);  
  4.         mIntent.putExtras(mBundle);
Parcelable取数据:


  1.         Book mBook = (Book)getIntent().getParcelableExtra(ObjectTranDemo.PAR_KEY);

参考1:http://blog.csdn.net/Android_Tutor/article/details/5740845

参考2:http://my.oschina.net/u/577632/blog/76906

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值