我是android的初学者...我们可以将arraylist保存到SQLite数据库吗?一些人建议使用JSON对象来插入arraylist。如果可以这样做,请举个例子。 这是我的代码:
ArrayList<HashMap<String, String>> mylist = new ArrayList<HashMap<String, String>>();
HashMap<String, String> map = new HashMap<String, String>();
map.put("agendaTitle",agendaTitle );
map.put("presenterName", presenterName);
mylist.add(map);
System.out.println("Map values are: "+ mylist);
JSONObject json = new JSONObject(map);
json.put(map);
String agendaStrings = json.toString();
System.out.printf( "JSON: %s", json.toString(2) );
这里我将agendatitle和presentername值传递给hashmap,稍后将其添加到arraylist中。现在我想将我的arraylist保存到SQLite。
答案 0 :(得分:0)
您需要遍历ArrayList并获取每个项目。每个项目都需要存储在 ContentValue 中,您可以直接将此内容值传递给db。
ContentValues cv=new ContentValues();
public void insertToDb(HashMap<String,String> items)
{
for(int i=0;i<items.size();i++)
{
cv.put(COLUMN_NAME_FOR_TITLE,items.get("agendaTitle");
cv.put(COLUMN_NAME_FOR_PRESENTER_NAME,items.get("presenterName");
db.insert(TABLE_NAME,null,cv);//where db is an instance of SQLiteDatabase
cv.clear()
}
}
答案 1 :(得分:0)
您可以尝试如下:
public void addRecords(HashMap<String, String> queryValues) {
SQLiteDatabase database = this.getWritableDatabase();
ContentValues values = new ContentValues();
values.put("agendaTitle", queryValues.get("agendaTitle"));
database.insert(TABLE_NAME, null, values);
database.close();
}