Java アプリケーションを Android に移植しようとしています。アプリケーションは Serializable を使用してデータを保存します。ユーザーの配列リストがあり、各ユーザーには他のさまざまな要素があります (これらはすべてシリアライズ可能を実装しています)。Java アプリでは、シリアル化されたユーザー リストをテキスト ファイルに書き込むメソッドを呼び出すだけで、すべてのデータを保存できました。これは Android では動作しないようです。
ファイルが見つからない、または IO 例外ではありません - 私はすでにそれを処理しました。
これを回避する方法についてのアイデアはありますか?
public boolean loadUsers()
{
File newFile = new File("sdcard/download/users.txt");
FileInputStream fileIn = null;
try
{
fileIn = new FileInputStream(newFile);
ObjectInputStream inStream = new ObjectInputStream(fileIn);
users = (ArrayList<User>)inStream.readObject();
fileIn.close();
return true;
}
catch (FileNotFoundException e)
{
System.err.println("File not found exception...");
}
catch (IOException e)
{
System.err.println("Error occurred reading the file, aborting...");
}
catch (Exception e)
{
System.err.println("Unexpected exception...");
}
return false;
}
私はそれを理解しました-パッケージ名を変更したため、古いシリアル化されたファイルがその理由で正しく読み取られません。それ以外の場合はすべて正常に動作します。