【问题标题】:Save/Read Custom Arraylist in Sharedpreferences [duplicate]在 Sharedpreferences 中保存/读取自定义 Arraylist [重复]
【发布时间】:2016-10-01 02:13:54
【问题描述】:

我正在开发一个应用程序,您可以在其中保存和阅读作业,对于“未完成”的进度,我想在共享首选项中保存我保存所有作业的 Arraylist。我希望你知道我的意思,提前谢谢:)

HausaufgabenActivity.java:

    ArrayList<Hausaufgabe> hausaufgabeList = new ArrayList<Hausaufgabe>();
    SharedPreferences.Editor editor;

    if(!hausaufgabeList.contains(ha)){
       hausaufgabeList.add(ha);
    }
    //Set the values
    Set<Hausaufgabe> set = new HashSet<Hausaufgabe>();
    set.addAll(hausaufgabeList);
    editor.putString("AllHomeworks", set);
    editor.commit();

Hausaufgabe.java:

public Hausaufgabe(String beschreibung, String DeviceID, String Abgabedatum, String Fach, String Erstellungsdatum){
    super();
    this.beschreibung = beschreibung;
    this.DeviceID = DeviceID;
    this.Abgabedatum = Abgabedatum;
    this.Fach = Fach;
    this.Erstellungsdatum = Erstellungsdatum;
}


public String getBeschreibung() {
    return beschreibung;
}

public String getAbgabedatum() {
    return Abgabedatum;
}

public String getFach() {
    return Fach;
}

public String getDeviceID() {
    return DeviceID;
}

public String getErstellungsdatum() {
    return Erstellungsdatum;
}

}

【问题讨论】:

    标签: java android arraylist sharedpreferences listmodel


    【解决方案1】:

    你应该试试:

    Set<Hausaufgabe> set = new HashSet<Hausaufgabe>();
    set.addAll(hausaufgabeList);
    editor.putStringSet("AllHomeworks", set);
    editor.commit();
    

    在哪里

    editor.putString("AllHomeworks", set);   -> editor.putStringSet("AllHomeworks", set);
    

    【讨论】:

    • 试过了,说:editor.putSTRINGset(...),我需要editor.putHausaufgabeSet(...)之类的东西
    • 好吧,没注意到它不是 HashSet 中的 String :D 你应该尝试序列化它。然后将序列化的对象保存为 SharedPreference 中的字符串
    • github.com/apache/pig/blob/… 然后是 mSpEditor.putString("AllHomeworks" ObjectSerializer.serialize(hausaufgabeList));
    • 序列化是什么意思?我将 Arraylist 序列化为字符串?
    • 我将如何从中获得一个 Arraylist?
    猜你喜欢
    • 2018-07-31
    • 1970-01-01
    • 2016-01-07
    • 2016-03-14
    • 1970-01-01
    • 2018-10-23
    • 2018-09-16
    • 2017-12-28
    • 2013-02-05
    相关资源
    最近更新 更多