Java me lwuit.io.Storage在关闭应用程序后清除
我正在尝试使用lwiit.io.Storage,它在应用程序运行时工作正常(我可以使用crud),但它的数据在关闭应用程序后会被清除。 我考虑过:Java me lwuit.io.Storage在关闭应用程序后清除,java-me,storage,lwuit,externalizable,Java Me,Storage,Lwuit,Externalizable,我正在尝试使用lwiit.io.Storage,它在应用程序运行时工作正常(我可以使用crud),但它的数据在关闭应用程序后会被清除。 我考虑过: 在initVars()方法中使用“Util.register(“Car”,Car.class);”注册我的类 在“Car”类中实现“Externalizable”接口“getObjectId()”方法返回“Car” 在MainMIDlet类中调用“Storage.init(“myProjectName”);” 检查以确保在MainMIDlet类中使
- 在initVars()方法中使用“Util.register(“Car”,Car.class);”注册我的类李>
- 在“Car”类中实现“Externalizable”接口“getObjectId()”方法返回“Car”
- 在MainMIDlet类中调用“Storage.init(“myProjectName”);”
- 检查以确保在MainMIDlet类中使用“Storage.isInitialized()”正确初始化存储
- 我使用向量存储我的“汽车”对象,使用:
Car c = new Car("ford", 1918); Vector v = (Vector) Storage.getInstance().readObject("cars"); if (v == null) { v = new Vector(); } v.addElement(c); Storage.getInstance().writeObject("cars", v); Vector test = (Vector) Storage.getInstance().readObject("cars"); if (test.lastElement() instanceof Car){ Car c1 = (Car) test.lastElement(); System.err.println(c1); }
- 避免在代码中的任何地方调用“Storage.getInstance().clearStorage();”
- “Storage.getInstance().listEntries();”返回一个包含“cars”字符串的元素数组(即使在重新启动应用程序之后)
提前谢谢我明白了,那是个愚蠢的错误 问题在于实现可外化的接口, 我在externalize()方法中调用“Util.writeUTF(name);”,并尝试在internalize方法中使用“stream.readUTF()”读取它 只需将“Util.writeUTF(名称)”替换为“stream.writeUTF(名称)” 它成功了。我试着用“字符串”而不是“向量”进行测试,效果很好。关闭应用程序后存储中保留的字符串。