android 数据库未关闭异常,我在SQLite(Android)中收到数据库对象未关闭异常,但我明确地关闭了我的数据库...帮助?...

02-08 16:35:00.899:ERROR /数据库(468):android.database.sqlite.DatabaseObjectNotClosedException:应用程序没有关闭这是这里打开光标或数据库对象

除了,我是。这里是方法,其中这个问题正在发生:

public static void getUpdates(String username, Context context) {

HttpClient httpClient = new DefaultHttpClient();

HttpPost httpPost = new HttpPost("http://10.0.2.2/tag/appgetfriendinfo.php");

try {

List nVPs = new ArrayList();

nVPs.add(new BasicNameValuePair("username", username));

httpPost.setEntity(new UrlEncodedFormEntity(nVPs));

HttpResponse response = httpClient.execute(httpPost);

ResponseHandler rHandler = new BasicResponseHandler();

String result = rHandler.handleResponse(response);

JSONArray jArray = new JSONArray(result);

for(int i = 0; i < jArray.length(); i++) {

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值