我在项目中声明了一个自定义类:
public class LocationData {
private Location location;
private LocalDateTime localDateTime;
private int heartRate;
private int calories;
private int ropeMoves;
private int dumbbellMoves;
private int pedalRotations;
private int wheelRotations;
private int numberOfSteps;
public LocationData(Location location, LocalDateTime localDateTime, int heartRate, int calories, int ropeMoves, int dumbbellMoves, int pedalRotation, int wheelRotations, int numberOfSteps) {
this.location = location;
this.localDateTime = localDateTime;
this.heartRate = heartRate;
this.calories = calories;
this.ropeMoves = ropeMoves;
this.dumbbellMoves = dumbbellMoves;
this.pedalRotations = pedalRotations;
this.wheelRotations = wheelRotations;
this.numberOfSteps = numberOfSteps;
}
public Location getLocation() {
return location;
}
public LocalDateTime getLocalDateTime() {
return localDateTime;
}
// Other getters
@Override
public String toString() {
return "LocationData[" +
"\n\tlocation=" + location +
"\n\tlocalDateTime=" + localDateTime +
"\n\tcalories=" + calories +
"\n\theartRate=" + heartRate +
"\n\tropeMoves=" + ropeMoves +
"\n\tdumbbellMoves=" + dumbbellMoves +
"\n\tpedalRotations=" + pedalRotations +
"\n\twheelRotations=" + wheelRotations +
"\n\tnumberOfSteps=" + numberOfSteps +
"]";
}
}
它代表一个位置加上一些信息。然后我保存List
LocationData
来创建"路线"。
我需要将此列表(称为location
)保存到文件中,因为将来用户会要求检索它以创建GPX文件。
我认为最好的解决方案是使LocationData
类可序列化,但我不知道如何序列化(然后反序列化)它。所以...我需要了解如何:
LocationData
类LocationData
类LocationData
答案 0 :(得分:0)
您需要将implements Serializable
添加到类定义中,但不必实现Serializable
的方法 - 对象已经具有默认实现,并且Serializable接口用作声明性
您还需要确保Location
和LocalDateTime
都是可序列化的。
最后,一旦完成,您可以使用ObjectInputStream / ObjectOutputStream来读取和写入对象