我的数据库有问题。
基本上,我的应用程序从我的 SQLite 数据库中读取文本和文本速率并将其显示在屏幕上。我还有 Thread 功能,它从外部互联网服务器下载内容并将其上传到数据库中。
在不太流行的设备(主要是平板电脑)上,它会产生如下错误:
DB close exception
DB locked
有人建议我创建一个称为单例的东西来处理这个问题,我创建了它,但它会产生错误。所以我有一个想法,用 AsyncTask 代替 Thread;你认为会有帮助吗?也许您还有其他解决方案?
AsyncTask在这里不会帮助你。您必须将数据库连接创建为单例。
您应该在阅读时获得可读数据库,在写作时获得可写数据库。然后你就可以同时做这两件事了。
这两种方法都在SQLHelper 类中
永远不要关闭数据库。确保每个应用程序只有一个 Helper 实例。请参阅此参考SQLiteDatabase close() 函数在多个线程时导致 NullPointerException
这可能会帮助你:)