【问题标题】:Codename one: Storage throwing EOF & NullPointer Exception代号一:Storage throwing EOF & NullPointer Exception
【发布时间】:2016-10-22 10:21:00
【问题描述】:

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

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

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);

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

感谢您的建议。

【问题讨论】:

    标签: codenameone


    【解决方案1】:

    Codename One 存储 ArrayList 而不是 LinkedList 并将隐式转换。我猜数据没有写入,这就是你得到异常的原因,你需要在写入时查看控制台并确保所有元素都是可外部化的。

    【讨论】:

      猜你喜欢
      • 2017-09-27
      • 2021-02-11
      • 2018-09-04
      • 2019-04-05
      • 2017-03-19
      • 2014-10-18
      • 2020-08-31
      • 2016-06-23
      • 2017-06-23
      相关资源
      最近更新 更多