0

我的数据库有问题。

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

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

DB close exception
DB locked 

有人建议我创建一个称为单例的东西来处理这个问题,我创建了它,但它会产生错误。所以我有一个想法,用 AsyncTask 代替 Thread;你认为会有帮助吗?也许您还有其他解决方案?

4

3 回答 3

0

AsyncTask在这里不会帮助你。您必须将数据库连接创建为单例。

于 2013-01-10T13:45:04.500 回答
0

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

这两种方法都在SQLHelper 类中

于 2013-01-10T13:45:11.690 回答
0

永远不要关闭数据库。确保每个应用程序只有一个 Helper 实例。请参阅此参考SQLiteDatabase close() 函数在多个线程时导致 NullPointerException

这可能会帮助你:)

于 2013-01-10T13:49:44.767 回答