要在 Android 中通过 Intent 传递实体类对象,首先需要确保实体类对象实现了 Serializable 或 Parcelable 接口。
一、实现 Serializable 接口:
public class MyObject implements Serializable {private String name;private int age;// 构造方法和其他方法
}
然后,在发送方的代码中,创建一个 Intent 对象并调用 putExtra()
方法来传递实体类对象:
Intent intent = new Intent(this, ReceiveActivity.class);
intent.putExtra("my_object", myObject);
startActivity(intent);
最后,在接收方的代码中,使用 getSerializableExtra()
方法来获取实体类对象:
MyObject myObject = (MyObject) getIntent().getSerializableExtra("my_object");
二、实现 Parcelable 接口:
public class MyObject implements Parcelable {private String name;private int age;// 构造方法和其他方法protected MyObject(Parcel in) {name = in.readString();age = in.readInt();}public static final Creator<MyObject> CREATOR = new Creator<MyObject>() {@Overridepublic MyObject createFromParcel(Parcel in) {return new MyObject(in);}@Overridepublic MyObject[] newArray(int size) {return new MyObject[size];}};@Overridepublic int describeContents() {return 0;}@Overridepublic void writeToParcel(Parcel dest, int flags) {dest.writeString(name);dest.writeInt(age);}
}
然后,在发送方的代码中,创建一个 Intent 对象并调用 putExtra()
方法来传递实体类对象:
Intent intent = new Intent(this, ReceiveActivity.class);
intent.putExtra("my_object", myObject);
startActivity(intent);
最后,在接收方的代码中,使用 getParcelableExtra()
方法来获取实体类对象:
MyObject myObject = getIntent().getParcelableExtra("my_object");