我创建了一个由自定义对象组成的数组列表。基本上,用户将创建一个类,每次创建一个类时,都会将一个新的 Lecture(我的自定义对象)添加到数组列表中。我需要保存生成的数组列表,以便即使在应用重新启动时也能保存用户的类。
根据我的理解,我必须使我的类可序列化。但我到底该怎么做呢?然后一旦序列化我该怎么办?
public class Lecture{
public String title;
public String startTime;
public String endTime;
public String day;
public boolean classEnabled;
public Lecture(String title, String startTime, String endTime, String day, boolean enable){
this.title = title;
this.startTime = startTime;
this.endTime = endTime;
this.day = day;
this.classEnabled = enable;
}
//Getters and setters below
最佳答案
我在我正在开发的天气应用程序中使用了一个类...
public class RegionList extends ArrayList<Region> {} // Region implements Serializeable
为了保存我使用这样的代码...
FileOutputStream outStream = new FileOutputStream(Weather.WeatherDir + "/RegionList.dat");
ObjectOutputStream objectOutStream = new ObjectOutputStream(outStream);
objectOutStream.writeInt(uk_weather_regions.size()); // Save size first
for(Region r:uk_weather_regions)
objectOutStream.writeObject(r);
objectOutStream.close();
注意:在编写 Region 对象之前,我编写了一个 int 来保存列表的“大小”。
当我回读时,我会这样做......
FileInputStream inStream = new FileInputStream(f);
ObjectInputStream objectInStream = new ObjectInputStream(inStream);
int count = objectInStream.readInt(); // Get the number of regions
RegionList rl = new RegionList();
for (int c=0; c < count; c++)
rl.add((Region) objectInStream.readObject());
objectInStream.close();
关于android - 如何存储自定义对象的数组列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4393889/