我无法将列表存储在存储中,然后在我的应用程序重新启动后加载它。这就是我所做的:
在应用程序的每次启动时,我都会这样做,检查数据是否已写入存储,如果没有,我会返回一个新列表。
public List loadSavedFormationList(){
String[] temp = Storage.getInstance().listEntries();
for(String s: temp){
if(s.equals("Formations") == true){
return (LinkedList<SongList>)Storage.getInstance().readObject("Formations");
}
}
return new LinkedList<SongList>();
}
当用户在我的应用程序中输入了一个FormationList时,我这样做是为了将其保存到存储中:
Storage.getInstance().writeObject("Formations", formationList);
现在,当我重新启动App时,我收到了java.io.EOFException + java.lang.NullpointerException。看来他试图从存储中读取我的Formations List,但它是空的,但为什么呢?在应用程序的第一次启动时,存储应为空。模拟器是否还将我在其他时间输入的内容保存到应用程序中?
感谢您的任何建议。
答案 0 :(得分:0)
Codename One存储ArrayList
而非LinkedList
并将隐式转换。我猜这些数据没有被写入,这就是你得到异常的原因,你需要在编写时查看控制台并确保所有元素都可以外部化。