Java 在Android APK 2.2及更高版本中保存和加载对象[]信息

Java 在Android APK 2.2及更高版本中保存和加载对象[]信息,java,android,object,load,save,Java,Android,Object,Load,Save,因此,在对该主题进行广泛研究后,我提出了以下代码: private void loadInformation() throws IOException, ClassNotFoundException{ FileInputStream fis = openFileInput("save"); ObjectInputStream in= new ObjectInputStream(fis); loadedInformation=(Object[]) in.readObject

因此,在对该主题进行广泛研究后,我提出了以下代码:

private void loadInformation() throws IOException, ClassNotFoundException{
    FileInputStream fis = openFileInput("save");
    ObjectInputStream in= new ObjectInputStream(fis);
    loadedInformation=(Object[]) in.readObject(); //loadedInformation is a Object[]
    in.close();
    fis.close();
}


private void saveInformation() throws IOException{
    FileOutputStream fos = openFileOutput("save", Context.MODE_PRIVATE);
    ObjectOutputStream out = new ObjectOutputStream(fos);
    out.writeObject(getAllInformation()); //getAllInformation() returns Object[]
    out.close();
    fos.close();

}

所有这些看起来都很好,唯一的问题是,稍后条件将在不应该的时候开始传递,并且在一些保存和加载之后,它将崩溃。看起来还可以,但如果(variable equaling one!=variable equaling one)为真,我一定是在做傻事。

你的数组真的只包含对象还是它们实际上是用户定义的类型?如果是这样,请考虑这样一个事实,即必须仔细设计类以使序列化工作。如果您还没有这样做,我强烈建议您阅读。

的“第11章:序列化”,您的意思是。。。使用sqlite?