我想构建一个sqlite数据库。它有2800个条目。当我尝试插入时,它需要一分钟左右,稍后给出系统错误消息。各自的代码如下。系统错误android sqlite insert
在创建数据库中的Java文件,
ContentValues cv4 = new ContentValues();
public long createVariantEntry(String varid, String makeid, String modelid, String varname, String posteddate) {
cv4.put(VARIANT_ID, varid);
cv4.put(VARIANT_MAKE_ID, makeid);
cv4.put(VARIANT_MODEL_ID, modelid);
cv4.put(VARIANT_NAME, varname);
cv4.put(VARIANT_POSTED_DATE, posteddate);
return Database.insert(VARIANT_TABLE_NAME, null, cv4);
}
在MainActivity,
for(int i = 0; i<build_emp_database.size();i++)
{
md.createVariantEntry(build_emp_database.get(i).get(0), build_emp_database.get(i).get(1), build_emp_database.get(i).get(2), build_emp_database.get(i).get(3), build_emp_database.get(i).get(4));
}
而且,只为2800项,它正在一分多钟,有什么办法,以加快他们?我有几个小型数据库,并已成功加载它们。这是唯一的大数据库,它在插入时创建一个问题。请帮助我哪里错了。
对于初学者来说,你可以在'loop'分配'build_emp_database.get(我)'一个局部变量,并调用'得到()'方法这么多次对! – SudoRahul 2013-05-07 03:30:26
感谢您的回复,通过多次调用get()方法,您的意思是什么? – bharath 2013-05-07 03:33:25
'build_emp_database.get(i).get(0)','build_emp_database.get(i).get(1)'等。这是我所指的行。将'build_emp_database.get(i)'分配给一个局部变量myObj,然后调用'myObj.get(0)','myObj.get(1)'等。 – SudoRahul 2013-05-07 03:35:49