lwuit.io.Storage очищается после закрытия приложения
Я пытаюсь использовать lwuit.io.Storage, он отлично работает во время работы приложения (я могу сделать crud), но после очистки приложения данные очищаются. Я рассмотрел:
- регистрация моего класса с помощью "Util.register("Car", Car.class);" в методе initVars();
- реализация интерфейса Externalizable в классе "Car". // метод getObjectId() возвращает "Car"
- вызов "Storage.init("myProjectName");" в классе MainMIDlet
- проверка правильности инициализации Storage с помощью Storage.isInitialized() в классе MainMIDlet
Я храню свои "автомобильные" объекты с помощью Vector, используя:
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" (даже после перезапуска приложения).
это мой простой "автомобильный" класс.
Есть идеи, что я здесь упускаю / делаю не так?
заранее спасибо
1 ответ
Я понял, это была глупая ошибка,
Проблема заключалась в реализации внешнего интерфейса, который я вызывал "Util.writeUTF (name);" в методе externalize() и пытается прочитать его с помощью функцииstream.readUTF () в методе internalize.
просто заменил "Util.writeUTF (имя)" на "поток.writeUTF (имя)".
и это сработало.