Codenameone 代码名一:存储抛出EOF&;空指针异常

Codenameone 代码名一:存储抛出EOF&;空指针异常,codenameone,Codenameone,我无法将列表存储在存储器中,然后在新启动应用程序后加载列表。以下是我所做的: 每次启动应用程序时,我都会这样做,以检查数据是否已写入存储器,如果没有,我会返回一个新列表 public List loadSavedFormationList(){ String[] temp = Storage.getInstance().listEntries(); for(String s: temp){ if(s.equals("Formations")

我无法将列表存储在存储器中,然后在新启动应用程序后加载列表。以下是我所做的:

每次启动应用程序时,我都会这样做,以检查数据是否已写入存储器,如果没有,我会返回一个新列表

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>();
}
现在,当我重新启动应用程序时,我得到一个java.io.EOFException+java.lang.NullpointerException。他似乎试图从存储器中读取我的编队列表,但它是空的,但为什么?应用程序第一次启动时,存储空间应为空。模拟器是否还保存了我在其他时间输入到应用程序中的内容


谢谢您的建议。

Codename One存储
ArrayList
而不是
LinkedList
,并将隐式转换该列表。我猜数据没有被写入,这就是为什么会出现异常,写入时需要查看控制台,确保所有元素都可以外部化。

Codename One存储
ArrayList
not
LinkedList
,并将其隐式转换。我猜数据没有被写入,这就是为什么会出现异常,在写入时需要查看控制台,确保所有元素都是可外部化的

Storage.getInstance().writeObject("Formations", formationList);