我正在构建一个Android应用程序,我想添加一个历史记录功能。我听说我可以序列化一个列表,以便能够保存和检索数据,而不是使用数据库,我不知道它是如何工作的,所以我来这里寻求建议,有什么地方我可以开始这个。一些好的链接可能很有用。
由于
答案 0 :(得分:17)
HashSet
实施Serializable
。因此,只要您放入哈希集中的所有对象也实现Serializable
(以及其中的所有对象等),您就可以将其序列化为任何其他正常的可序列化Java对象。
答案 1 :(得分:2)
你不应该以更加有效的方式使用serializable,android实现parcelables。问题是你必须自己定义如何包裹对象,但实际上并不难。
简单示例:
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,你只需要确保Hash中的对象也是可以分配的。
如果您觉得这太麻烦了,那么Nailuj之前发布的答案是正确的。
答案 2 :(得分:0)
也许xstream可能会有所帮助。
序列化api - http://x-stream.github.io/