Android Sqlite不返回此类表,但在OnePlusTwo设备上获取时,表存在

Android Sqlite不返回此类表,但在OnePlusTwo设备上获取时,表存在,android,sqlite,oneplustwo,Android,Sqlite,Oneplustwo,我已将数据库文件从资产复制到应用程序数据库,并已成功复制。当我查询任何表时,它都不会返回这样的表异常。我从那部手机上取了db文件,它有所有需要的表格。 我知道这有点奇怪,但这个错误只发生在一个plustwo设备上。 所以我的问题是,这是一个特定于设备的问题,还是其他人面临的一般问题。 请务必说明是否有人在任何其他电话中遇到此问题,或知道如何解决此问题。 我没有发布任何代码,因为它只出现在一台设备上,但如果有人需要,请提及我将发布该部分我通过在复制数据库之前放置一行代码解决了这个问题。问题是,当您

我已将数据库文件从资产复制到应用程序数据库,并已成功复制。当我查询任何表时,它都不会返回这样的表异常。我从那部手机上取了db文件,它有所有需要的表格。 我知道这有点奇怪,但这个错误只发生在一个plustwo设备上。 所以我的问题是,这是一个特定于设备的问题,还是其他人面临的一般问题。 请务必说明是否有人在任何其他电话中遇到此问题,或知道如何解决此问题。
我没有发布任何代码,因为它只出现在一台设备上,但如果有人需要,请提及我将发布该部分

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

getReadableDatabase().close();
这将首先关闭连接,然后在创建的数据库上打开输出流。 如果有人需要一些额外的代码,我可以发布一个示例代码。如果这不能解决问题,请发布您的数据库副本代码


谢谢:)

我也面临同样的问题。虽然我不知道你的问题的答案,但我想补充一点:仅OnePlus还存在其他一些奇怪的问题,例如,无法控制键盘上的“回车”按钮在编辑文本中的作用。这就是我要确认的,这是任何类型的设备特定问题,或者我必须为此问题做一些特殊的处理。无论如何,谢谢:)你能不能用更多的代码来详细说明一下,因为我也遇到了同样的错误,请在其他设备上测试过这个修复程序;结果是,它在所有其他设备上都像往常一样运行,现在在OnePlus上甚至都不会出现问题。@RahulSharma您只需关闭已进行的数据库访问,然后再将资产数据库复制到应用数据库。这个过程是在第一次启动应用程序时创建数据库,然后复制数据库。在开始复制过程并关闭数据库实例之前,您只需获得对数据库的可读访问权限。