1

我需要存储我的自定义 arraylist int sqlite db 并检索它。

正在使用的 Arrylist 是

List<LessonContent> list = new ArrayList<LessonContent>(); 

课程内容是一个对象

 public LessonContent(String n, String a, String c) {
        node = n;
        attribute = a;
        content = c;

    }

我以这种方式将它存储在列表中..

LessonContent textobj = new LessonContent(tagname,type,content);
                                 list.add(textobj);

我已经以这种方式将它存储在 sqlite 中.. 因为我读了一些其他问题,我们无法将 arraylist 直接存储到 sqlite,因此将其转换为 json 字符串。

// saving list to sqlite db
    JSONObject json = new JSONObject();

json.put("uniqueArrays", new JSONArray(list));
String arrayList = json.toString();

    Lessons lns =new Lessons(lesson_id,subject,chapter,arrayList);
    db.addContent(lns);     

对这个代码没有问题......

现在我需要从 sqlite 读取存储的数据..

为此我使用这段代码..

Lessons lsn = db.getContent(lesson_id);
String xmlcontent = lsn.getLesson();
      JSONObject json = null;

json = new JSONObject(xmlcontent);

list = (List<LessonContent>) json.optJSONArray("uniqueArrays");

我在这个阶段遇到了错误,因为无法将 json 对象投射到列表中。

请任何人知道将我的arraylist存储在db中并读回它的正确方法..

4

0 回答 0