我正在为一位同事编写一个 Android 应用程序,用于跟踪注册足球联赛的孩子。我目前无法保存/序列化我的名册,然后再对其进行反序列化。我正在序列化的对象是一个 Player 对象数组。自定义播放器类实现了可序列化,因此它们的数组应该可以序列化(据我所知)。
我的序列化/保存方法:
String ser = SerializeObject.objectToString(currentRoster.getRosterArray());
if (ser != null && !ser.equalsIgnoreCase("")) {
SerializeObject.WriteSettings(this, ser, "playerRoster"); //.dat extension
} else {
System.out.println("Object not saved");
SerializeObject.WriteSettings(this, "", "playerRoster");
}
我的反序列化方法:
String ser = SerializeObject.ReadSettings(this, "playerRoster");
if (ser != null && !ser.equalsIgnoreCase("")) {
Object obj = SerializeObject.stringToObject(ser);
// Then cast it to your object and
if (obj instanceof Player[]) {
// Do something
loadedRoster = (Player[]) obj;
System.out.println(loadedRoster[0]);
}
}
我在我的应用程序中得到的结果是反序列化时数组中每个玩家的行话。我的问题是我是否正确保存和加载数据,或者我是否忘记了什么。(我省略了一些填充代码和异常处理以使其更清洁)感谢您的帮助!