2016-10-21 20 views
1

リストをストレージに保存してから、アプリの新しい開始後にロードするのに問題があります。ここに私がしたことは次のとおりです:コードネーム1:ストレージスローEOF&NullPointer例外

私はこれを実行して、データがすでにストレージに書き込まれているかどうかを確認し、そうでなければ新しいリストを返します。

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。彼は私のFormations Listをストレージから読み込もうとしているようですが、それは空ですが、なぜですか?アプリケーションの最初の起動時に、ストレージは空でなければなりません。シミュレータは、別の時間に私がアプリケーションに入力したものも保存しますか?

ありがとうございました。

答えて

0

コード名1はArrayListではなく、LinkedListを暗黙的に変換します。私はデータが書かれていないと推測しています。なぜ例外があるのですか?書いているときにコンソールを見て、すべての要素が外部化可能であることを確認する必要があります。