我正在构建一个android应用程序,我想添加一个历史记录功能。我听说我可以序列化一个列表,以便能够保存和检索数据,而不是使用数据库,我不知道它是如何工作的,所以我来这里寻求建议,有没有什么地方可以开始使用它。一些好的链接可能会有用。如何序列化HashSet
感谢
我正在构建一个android应用程序,我想添加一个历史记录功能。我听说我可以序列化一个列表,以便能够保存和检索数据,而不是使用数据库,我不知道它是如何工作的,所以我来这里寻求建议,有没有什么地方可以开始使用它。一些好的链接可能会有用。如何序列化HashSet
感谢
你不应该使用可序列化的,以更有效的方式实现可执行文件。问题是你必须定义自己如何包裹对象,但它确实不是那么难。
简单的例子:
public class MyParcelable implements Parcelable {
private int mData;
public int describeContents() {
return 0;
}
public void writeToParcel(Parcel out, int flags) {
out.writeInt(mData);
}
public static final Parcelable.Creator<MyParcelable> CREATOR
= new Parcelable.Creator<MyParcelable>() {
public MyParcelable createFromParcel(Parcel in) {
return new MyParcelable(in);
}
public MyParcelable[] newArray(int size) {
return new MyParcelable[size];
}
};
private MyParcelable(Parcel in) {
mData = in.readInt();
}
}
如果你想保存HashSet的,你只需要确保哈希里面的对象也是parcelable。
如果您觉得这太麻烦了,Nailuj以前发布的答案是正确的。
HashSet
实现Serializable
。因此,只要你放置在你的哈希集中的所有对象也实现了Serializable
(以及它们内部的所有对象等等),就可以将它序列化为任何其他正常的可序列化Java对象。
也许xstream可能会有帮助。
序列化API - http://x-stream.github.io/
感谢您的答案,我给一个尝试@blindstuff为例,来看看他它去;) – 2010-11-29 20:20:05