JSONObject jObj = jArray.getJSONObject(i);
String userCheck = jObj.getString("username");
TagDBAdapter dbHelper = new TagDBAdapter(context);
dbHelper.open();//OPENING THE DATABASE
Contact contact = new Contact();
String first = jObj.getString("firstname");
String last = jObj.getString("lastname");
String name = first + " " + last;
contact.setUsername(jObj.getString("username"));
contact.setFirstName(first);
contact.setLastName(last);
contact.setName(name);
contact.setPhoneNumber(jObj.getString("phonenumber"));
contact.setEmail(jObj.getString("email"));
contact.setHomePhone(jObj.getString("homephone"));
contact.setWorkPhone(jObj.getString("workphone"));
if(dbHelper.checkForExisting(userCheck) == true) {
dbHelper.createContact(contact);
}
else {
dbHelper.updateContactAuto(userCheck, contact);
}
dbHelper.close();//CLOSING THE DATABASE
}
} catch(ClientProtocolException e) {
Log.e("GETUPDATES", "CPE", e);
e.printStackTrace();
} catch(IOException e) {
Log.e("GETUPDATES", "IOE", e);
e.printStackTrace();
} catch(JSONException e) {
Log.e("GETUPDATES", "JSONE", e);
e.printStackTrace();
}
}
正如你可以在我的//注释,我打开和关闭数据库,但我仍然得到错误指出行看到。这里有些奇怪,但是错误的来源在SQLite的open()方法中。
ERROR /数据库(468):在com.tagapp.android.TagDBAdapter.open(TagDBAdapter.java:62)
这是这样的:
/**THESE ARE MY DBADAPTER'S OPEN AND CLOSE METHODS*/
public TagDBAdapter open() throws SQLException {
mDBHelper = new DatabaseHelper(m_context);
mDb = mDBHelper.getWritableDatabase();
return this;
}
public void close() {
mDBHelper.close();
}
这些都是直接从谷歌的记事本教程,他们在不同的情况下为我工作了100%。有没有人知道这里发生了什么?非常感谢。
+0
@psyhclo我会需要看到你的活动在那里帮助你,如果你可以发布它,我会尽力帮助 –
2011-02-09 06:06:24
+0
好吧,我已将活动添加到帖子末尾。你可以检查相同的链接。 http://www.stackoverflow.com/questions/4921550/where-to-close-the-database谢谢。 –
2011-02-09 14:03:13