我正在尝试将 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;
}
我已经想通了——我更改了包名,因此旧的序列化文件没有被正确读取。否则一切正常。