在活动之间传递您自己的对象

时间:2013-03-21 10:50:11

标签: android android-activity

我是Android开发的新手,以及数据从一个活动传递到另一个活动的方式对我来说仍然不清楚 在活动之间传递自己的对象是一种好习惯吗?

他们可以拥有哪种尺寸?

编辑: 也许我没有清楚地解释清楚。我知道如何在活动之间传递数据。问题是:这是一个好的做法还是我应该更好地从SQLlite数据库获取数据?在那种情况下,我可以通过哪个最大尺寸来获得良好的表现?

1 个答案:

答案 0 :(得分:2)

发送对象与发送预定义对象(如String或变量)相同,可以通过直接在intent上使用putParceble()或putSerializable()方法或通过将对象绑定到bundle对象来将对象绑定到Intent来完成。 但是你必须确保你的类实现了Parcelable或Serializable。

喜欢这里:

     UserDefined myObject=new UserDefined();
     Intent i = new Intent(this, Activity2.class);
     Bundle b = new Bundle(); 
     b.putParcelable("myObject", myObject);
     i.putExtras(b);
     startActivity(i);

接受活动时:

  Bundle b = this.getIntent().getExtras();
  myObject = b.getParcelable("myObject");

你也可以在不使用Bundle的情况下发送对象:

    Intent i=new Intent(PicActivity.this,PostPhotoActivity.class);
    i.putExtra("myObject", myObject);
    startActivity(i);

关于接收活动:

     UserDefined myObj=(UserDefined)getIntent().getParcelableExtra("myObject");

在Android中,parcelable是首选而不是序列化。