Android保存自定义对象数组

Sim*_*mon 6 android arraylist object save

我有一个关于保存自定义对象的arraylist的问题.我有一个名为notitie的课程:

public class Notitie implements Serializable{

private String titel = "";
private String type = "";
private String datum = "";

public void setTitel (String titel){
    this.titel = titel;
}
public String getTitel(){
    return titel;
}
public void setType (String type){
    this.type = type;
}
public String getType(){
    return type;
}
public void setDatum (String datum){
    this.datum = datum;
}
public String getDatum(){
    return datum;
}
}
Run Code Online (Sandbox Code Playgroud)

我创建了一些Notitie的对象,并将它们添加到我的名为notities的arraylist中

ArrayList<Notitie> notities = new ArrayList<Notitie>();

Notitie notitie1 = new Notitie();
notitie1.setTitel("Meting");
notitie1.setType("Watermeting");
notitie1.setDatum("22-09-12");
notities.add(notitie1);

Notitie notitie2 = new Notitie();
notitie1.setTitel("Meting2");
notitie1.setType("Watermeting2");
notitie1.setDatum("23-09-12");
notities.add(notitie2);

Notitie notitie3 = new Notitie();
notitie1.setTitel("Meting3");
notitie1.setType("Watermeting3");
notitie1.setDatum("24-09-12");
notities.add(notitie3);
Run Code Online (Sandbox Code Playgroud)

现在我想将填充的Arraylist保存在设备的存储器上,以便随时访问它.我曾经将数据保存为String或某些带有共享偏好的整数,但是我无法用这个保存这个Arraylist.有人有解决方案吗?

提前致谢!

Swa*_*yam 5

你有几个选择:

  1. 使用序列化,XML或JSON,并将数据存储在文件中.如果您想实现序列化,请参阅此解决方案.

  2. 使用SQLite存储数据.看看本教程即可开始使用.

编辑:你可能也想读这个!

  • @Bruiser:这是一个非常好的问题.SQLite的优点是您可以使用CursorAdapter直接在任何ListView中显示元素,从而节省大量工作.另外,一旦掌握了Cursor数据,处理Cursor数据就非常容易了.使用Files做同样的事情可能会有点费尽心机,如果不是令人沮丧的话.所以,对我来说,SQLite是要走的路. (3认同)