我需要存储我的自定义 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中并读回它的正确方法..