我是Android开发的新手,以及数据从一个活动传递到另一个活动的方式对我来说仍然不清楚 在活动之间传递自己的对象是一种好习惯吗?
他们可以拥有哪种尺寸?
编辑: 也许我没有清楚地解释清楚。我知道如何在活动之间传递数据。问题是:这是一个好的做法还是我应该更好地从SQLlite数据库获取数据?在那种情况下,我可以通过哪个最大尺寸来获得良好的表现?
答案 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是首选而不是序列化。