Sqlite return 没有这样的 table 但 table 在 OnePlusTwo 设备上获取时存在

Sqlite return no such table but table is present when fetched on OnePlusTwo device

我从assets复制了一个db文件到app数据库,复制成功。当我查询任何 table 时,它 returns 没有这样的 table 异常。我从那个 phone 中获取了数据库文件,它包含所有需要的 table。 我知道这有点奇怪,但此错误仅出现在 OnePlusTwo 设备上。 所以我的问题是这是一个设备特定问题或其他人面临的一般问题。 请务必提及是否有人在任何其他 phone 上遇到此问题或知道如何解决此问题。 我没有 post 编辑任何代码,因为它只出现在一台设备上,但如果有人需要,请提及我 post 那部分

我通过在复制数据库之前添加一行代码解决了这个问题。问题是当您创建数据库时,您需要先关闭它,然后再打开它上面的任何流。许多设备都没有这个问题,因为现在所有设备都可以处理这些情况,但是像 OnePlusTwo 这样的一些设备在这方面给出了错误。 因此,以下是您需要在复制数据库之前添加的行:

getReadableDatabase().close();

这将首先关闭连接,然后在创建的数据库上打开输出流。 如果有人需要一些额外的代码,我可以 post 一个示例代码。如果这不能解决问题,请 post 您的数据库复制代码。

谢谢:)