1

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

他们可以有什么尺寸?

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

4

1 回答 1

2

发送对象与发送字符串或变量等预定义对象相同,可以通过直接在意图上使用 putParceble() 或 putSerializable() 方法将对象绑定到 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 是首选,而不是可序列化。

于 2013-03-21T11:13:09.347 回答