Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/asp.net-mvc-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java me lwuit.io.Storage在关闭应用程序后清除_Java Me_Storage_Lwuit_Externalizable - Fatal编程技术网

Java me lwuit.io.Storage在关闭应用程序后清除

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类中使

我正在尝试使用lwiit.io.Storage,它在应用程序运行时工作正常(我可以使用crud),但它的数据在关闭应用程序后会被清除。 我考虑过:

  • 在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(名称)”

它成功了。

我试着用“字符串”而不是“向量”进行测试,效果很好。关闭应用程序后存储中保留的字符串。