保存/加载不适用于Android

时间:2016-05-18 01:31:10

标签: android save

我一直在尝试保存并加载一个对象,但它无法正常工作。当我告诉它保存时,我有这个:

public void doSave(View v) {
    ObjectOutputStream out;
    try {
        FileOutputStream outFile = new FileOutputStream("testThingy321.ser");
        out = new ObjectOutputStream(outFile);
        out.writeObject(hero);
        out.close();
        outFile.close();
    } catch (Exception e) {e.printStackTrace();}
}

当我告诉它加载时,我有这个:

try {
            FileInputStream fileIn = new FileInputStream("testThingy321.ser");
            ObjectInput in = new ObjectInputStream(fileIn);       
            hero = (Protag) in.readObject();
            in.close();
            fileIn.close();
        } catch (Exception e) {e.printStackTrace();}

我对如何解释它为什么不起作用没有足够的理解,而且几乎我发现的样本告诉我说。然而,它似乎永远不会做任何事情。有人能告诉我要保存或加载它需要做些什么吗?

编辑:我检查了logcat,我得到了这个:

05-17 22:25:46.0​​98:W / System.err(24774):java.io.FileNotFoundException:testThingy321.ser:open failed:EROFS(只读文件系统)

1 个答案:

答案 0 :(得分:1)

您的Protag类应该实现Serializable接口并定义readObjectwriteObject方法,如此处所述Serialization - readObject writeObject overrides