使用SQLite数据库运行Android应用程序时出现数据库错误

使用SQLite数据库运行Android应用程序时出现数据库错误,android,sqlite,android-emulator,Android,Sqlite,Android Emulator,特定错误:带有SQLite数据库的Android应用程序在尝试访问数据/数据/包/数据库时失败 注意:我知道Stackoverflow上已经发布了许多文章,以及一些推荐的站点,介绍了如何将sqlite文件从Assets文件夹复制到data/data/package/databases文件夹中。然而,我的实现只在模拟器上工作,而不是在真实的设备上。我想我错过了一块拼图 我的问题 有人能在我的代码中识别出故障点吗?我真的认为这是一件新鲜的眼睛会很快发现错误的事情。提前感谢您提供的任何见解 错误日志粗

特定错误:带有SQLite数据库的Android应用程序在尝试访问数据/数据/包/数据库时失败

注意:我知道Stackoverflow上已经发布了许多文章,以及一些推荐的站点,介绍了如何将sqlite文件从Assets文件夹复制到data/data/package/databases文件夹中。然而,我的实现只在模拟器上工作,而不是在真实的设备上。我想我错过了一块拼图

我的问题 有人能在我的代码中识别出故障点吗?我真的认为这是一件新鲜的眼睛会很快发现错误的事情。提前感谢您提供的任何见解

错误日志粗体项是故障点: 11-02 20:22:17.045:信息/处理15318:发送信号。PID:15318信号:9 11-02 20:22:17.055:INFO/ActivityManager2697:Process com.game.myapp pid 15318已死亡。 11-02 20:22:17.055:INFO/WindowManager2697:WIN-DEATH:Window{40922a70 com.game.myapp/com.game.myapp.main活动暂停=true}

我的代码


在这里。实际上,您可能有损坏的数据库文件,1024个数据库文件中有1个是您没有的

while ((length = databaseInputStream.read(buffer)) > 0) {
    databaseOutputStream.write(buffer);
}
写入时需要指定缓冲区读取的长度。每次写入都会得到1024个字节

我讨厌编写InputStream/OutputStream复制代码,我到处都能看到它。如果您想使用它,我创建了ApacheCommons库的精简版本。很多你永远不会使用的东西,但其中有一些很棒的util代码:

否则,请使用此方法,而不是您现在使用的方法:


天哪,你的缩进怎么了?我不知道东西在哪里欢迎来到Stackoverflow!如果你觉得回复有帮助,请投票表决。如果回答成功回答了您的问题,请单击旁边的绿色复选标记以接受回答。另外,关于如何写一个好的问题,请看下面的建议。嗯,你发布的日志只表明你的应用程序已经死亡,而不是死亡的原因。也许你可以发布更长版本的日志?由于:java.lang.NullPointerException导致的:AndroidRuntime E您不需要使用路径/data/data/com.game.myapp/databases当使用SQLHelper时,它会为您找到应用程序的数据库路径,只需要文件名。另外,您实际上没有正确使用OpenHelper类。。。如果你想看看这段视频的文档,也可以看看第3.3课:数据库谢谢你的反馈。由于某些原因,我无法使其工作,因此我以编程方式创建了表。现在,您的所有博客链接都是404。
while ((length = databaseInputStream.read(buffer)) > 0) {
    databaseOutputStream.write(buffer);
}