我写了两个应用程序。一个用于创建数据并存储在数据库中,另一个用于显示来自第一个应用程序数据库的信息。我需要这两个是独立的应用程序。显示信息的第二个应用程序必须多次调用第一个应用程序的数据库。这一切都运行良好,但我无法在第一个应用程序的内容提供商中关闭数据库。我在Closing the database in a ContentProvider读到我不应该认为哪个好。问题是因为我正在开发第二个应用程序,Eclipse的Logcat只是充斥着未封闭的数据库消息。每个查询一条消息,我一次进行多个查询。
最后一个问题:是否有办法设置Eclipse不显示此特定错误消息,或者将消息过滤掉logcat?
由于 TJ
答案 0 :(得分:1)
编辑:
请务必致电:
getReadableDatabase()
一次,按照:
How to avoid db not close and cursor exception
每当你从光标中提取信息时,你需要调用:
cursor.close();
所以,如果你有一些电话:
public void parseValsFromCursor(Cursor C) {
String val = c.getString(c.getColumnIndex(MYCOLUMN));
Log.e(TAG,val);
}
然后你尝试做另一个db查询,你会看到这个错误。
修复是修改游标解析代码以包含.close()方法,如下所示:
public void parseValsFromCursor(Cursor C) {
String val = c.getString(c.getColumnIndex(MYCOLUMN));
Log.e(TAG,val);
c.close();
}