java parcel 读写样例
Parcel是Android系统提供的一个序列化/反序列化库,用于在不同组件之间传递数据。下面是一个使用Parcel读写数据的示例:
首先,我们需要创建一个自定义的Parcelable类。假设我们有一个Person类,它包含姓名和年龄两个属性:
java
public class Person implements Parcelable {
private String name;
private int age;
public Person(String name, int age) {
= name;
= age;
}
public String getName() {
return name;
}
public int getAge() {
return age;
}
@Override
public int describeContents() {
return 0;
}
@Override
public void writeToParcel(Parcel parcel, int flags) {
tring(name);
nt(age);
}
public static final r
r
@Override
public Person createFromParcel(Parcel parcel) {
return new Person(ring(), t());
}
@Override
public Person[] newArray(int size) {
return new Person[size];
}
};
}
在上面的代码中,我们实现了Parcelable接口,并覆盖了writeToParcel()方法来将对象写入Parcel。我们还定义了一个CREATOR对象,它是一个实现了r接口的匿名内部类。这个CREATOR对象可以用于从Parcel中创建Person对象。
接下来,我们可以使用Parcel来读写Person对象。例如,我们可以创建一个Person对象并将其写入Parcel:
java
Person person = new Person("John", 30);
Parcel parcel = ();
oParcel(parcel, 0);
上面的代码创建了一个Person对象,然后使用()方法获取一个空的Parcel对象。接着,我们调用Person对象的writeToParcel()方法将对象写入Parcel。最后,我们将Parcel写入文件或其他地方以进行传输。
要从Parcel中读取Person对象,我们可以使用CREATOR对象:
java
Parcel parcel = ();
// 从文件或其他地方读取Parcel数据到parcel中
ring(); // 读取姓名
int age = t(); // 读取年龄
e(); // 回收Parcel对象以避免内存泄漏
Person person = FromParcel(parcel); // 从Parcel中创建Person对象
上面的代码首先获取一个空的Parcel对象,然后从文件或其他地方读取数据到Parcel中。接着,我们使用readString()和readInt()方法从Parcel中读取姓名和年龄。最后,我们使用CREATOR对象的createFromParcel()方法从Parcel中创建Person对象。注意,在读取完数据后,我们需要调用recycle()方法来回收Parcel对象以避免内存泄漏。
本文发布于:2024-09-23 01:36:56,感谢您对本站的认可!
本文链接:https://www.17tex.com/fanyi/37762.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |