2010-11-29 65 views
2

我正在构建一个android应用程序,我想添加一个历史记录功能。我听说我可以序列化一个列表,以便能够保存和检索数据,而不是使用数据库,我不知道它是如何工作的,所以我来这里寻求建议,有没有什么地方可以开始使用它。一些好的链接可能会有用。如何序列化HashSet

感谢

回答

2

你不应该使用可序列化的,以更有效的方式实现可执行文件。问题是你必须定义自己如何包裹对象,但它确实不是那么难。

简单的例子:

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以前发布的答案是正确的。

+0

感谢您的答案,我给一个尝试@blindstuff为例,来看看他它去;) – 2010-11-29 20:20:05

16

HashSet实现Serializable。因此,只要你放置在你的哈希集中的所有对象也实现了Serializable(以及它们内部的所有对象等等),就可以将它序列化为任何其他正常的可序列化Java对象。