Android Parcel是一种用于在Android应用程序之间传输数据的机制。它允许将复杂的对象打包成字节流,并在不同的组件之间进行传递。编写数组列表的过程如下:
public class Person implements Parcelable {
private String name;
private int age;
// 构造函数、getter和setter方法
// 实现Parcelable接口的方法
@Override
public int describeContents() {
return 0;
}
@Override
public void writeToParcel(Parcel dest, int flags) {
dest.writeString(name);
dest.writeInt(age);
}
public static final Parcelable.Creator<Person> CREATOR = new Parcelable.Creator<Person>() {
public Person createFromParcel(Parcel in) {
return new Person(in);
}
public Person[] newArray(int size) {
return new Person[size];
}
};
private Person(Parcel in) {
name = in.readString();
age = in.readInt();
}
}
ArrayList<Person> personList = new ArrayList<>();
personList.add(new Person("John", 25));
personList.add(new Person("Jane", 30));
Intent intent = new Intent(this, TargetActivity.class);
intent.putParcelableArrayListExtra("personList", personList);
startActivity(intent);
ArrayList<Person> personList = getIntent().getParcelableArrayListExtra("personList");
Android Parcel的优势是它的高效性和可扩展性。它可以在不同的组件之间传递复杂的数据结构,而无需进行序列化和反序列化的繁琐过程。它适用于需要在Activity、Service、BroadcastReceiver等组件之间传递数据的场景。
腾讯云提供了一系列与Android开发相关的产品和服务,例如:
请注意,以上仅是示例,腾讯云还提供了更多与Android开发相关的产品和服务,具体可参考腾讯云官方网站。
领取专属 10元无门槛券
手把手带您无忧上云