我写了两个应用程序。一个用于创建数据并存储在数据库中,另一个用于显示来自第一个应用程序数据库的信息。我需要这两个是单独的应用程序。显示信息的第二个应用程序必须多次调用第一个应用程序的数据库。一切正常,但我无法关闭第一个应用程序的内容提供程序中的数据库。我读过 Closing the database in a ContentProvider我不应该这样做很好。问题是当我在开发第二个应用程序时,Eclipse 的 Logcat 充斥着未关闭的数据库消息。每个查询一条消息,我一次进行多个查询。
最后的问题是:有没有办法将 Eclipse 设置为不显示此特定错误消息,或者将消息从 logcat 中过滤掉?
谢谢 田杰
最佳答案
编辑:
确保你只调用:
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);
}
然后您尝试执行另一个数据库查询,您将看到此错误。
修复方法是修改游标解析代码以包含 .close() 方法,如下所示:
public void parseValsFromCursor(Cursor C) {
String val = c.getString(c.getColumnIndex(MYCOLUMN));
Log.e(TAG,val);
c.close();
}
关于android - 使用内容提供者游标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20691711/