【问题标题】:Saving and Loading Object[] information in Android APK 2.2 and up在 Android APK 2.2 及更高版本中保存和加载 Object[] 信息
【发布时间】:2011-07-17 23:45:05
【问题描述】:

所以在对该主题进行广泛研究之后,我想出了以下代码:

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();

}

所有这些似乎都可以正常工作,唯一的问题是稍后条件会在它们不应该通过时开始传递,并且在几次保存和加载后它就会崩溃。看起来没问题,但如果(变量等于一!= 变量等于一)结果为真,我一定是在做一些愚蠢的事情。

【问题讨论】:

    标签: java android object load save


    【解决方案1】:

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

    【讨论】:

    • 那么你的意思是……使用 sqlite?
    猜你喜欢
    • 2012-12-03
    • 2022-12-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多