【问题标题】:How to handle 2 connections to database without error?如何无错误地处理与数据库的 2 个连接?
【发布时间】:2013-01-10 13:37:24
【问题描述】:

我的数据库有问题。

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

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

DB close exception
DB locked 

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

【问题讨论】:

  • 我不明白为什么使用 AsyncTask 会改变您的问题

标签: android database sqlite locked


【解决方案1】:

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

【讨论】:

    【解决方案2】:

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

    这两个方法都在SQLHelper class

    【讨论】:

      【解决方案3】:

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

      这可能对你有帮助:)

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-01-31
        • 1970-01-01
        • 1970-01-01
        • 2018-12-01
        • 1970-01-01
        相关资源
        最近更新 更多