如何处理2个数据库连接没有错误?

时间:2013-01-10 13:37:24

标签: android database sqlite locked

我的数据库存在问题。

基本上我的应用程序从我的SQLite数据库中读取文本和文本速率并在屏幕上显示。我还有Thread功能,它从外部互联网服务器下载内容并将其上传到数据库。

在不太受欢迎的设备(主要是平板电脑)上,它会产生如下错误:

DB close exception
DB locked 

有人建议我创建一个名为singleton的东西来处理这个问题,然后我创建了它,但它会产生错误。所以我有一个想法,使用AsyncTask而不是Thread;你觉得它有帮助吗? 也许你有其他解决方案?

3 个答案:

答案 0 :(得分:0)

AsyncTask在这里不会帮到你。您必须以单例形式创建数据库连接。

答案 1 :(得分:0)

您应该在阅读时获得可读数据库,并在撰写时获得可写数据库。然后你就可以同时做两件事。

这两种方法都在SQLHelper class

答案 2 :(得分:0)

永远不要关闭数据库。确保每个应用程序只有一个Helper实例。 请参阅此参考以获取参考SQLiteDatabase close() function causing NullPointerException when multiple threads

这可能对你有所帮助:)。