这个无益的错误信息最近让我发疯;它不会出现在android模拟器中,只有在我的(android 2.3.6)设备上通过USB调试运行时,从Eclipse启动。
实际上没有异常被抛出,据我所知,我的数据库查询实际上都没有失败(一切似乎都正常工作),但我收到的每个查询中至少有一个错误运行
据我所知,我做的一切都是正确的:
SQLiteOpenHelper
实例作为单例创建(synchronized static方法使用应用程序的上下文检索单个实例)。getWritableDatabase()
,update
等时,我只会致电insert
,其余时间我使用getReadableDatabase()
。try/catch/finally
块的事务中,以确保调用endTransaction()
。try/catch
块中,以捕获任何可能的SQLException
响应,并根据需要进行记录。close()
和SQLiteDatabase
个对象上调用Cursor
。这些都是过去在模拟器中抛出背景错误的东西,直到我纠正它们,当我在模拟器中运行我的应用程序时,我看不到任何类型的数据库错误了。然而,在我的设备上运行,我得到了无用的“这应该永远不会发生”的错误,似乎对于我运行的每一个查询都没有明显的不良影响。
当然,我暂时忽略了这些,但我想不出任何其他可能的原因。我的SQL语句都是有效的,我的大部分代码都基于官方的android教程,例如here。
任何人都可以确定为什么我会收到这些错误?还有其他可能的原因吗?
答案 0 :(得分:0)
答案 1 :(得分:0)
我记得当您尝试访问已关闭的sqlite数据库时发生此错误。当多个线程同时访问数据库并且其中一个线程称为关闭时,可能会发生这种情况。我刚刚完全没有关闭sqlite数据库解决了这个问题。希望这可以帮助。