我编写了一个简单的Android应用程序,该应用程序使用位于"assets"
文件夹内的sqlite数据库。我使用了DataHelper类,它的DB_PATH
初始化如下:
private static String DB_PATH = "/data/data/program.proverb/databases/";
当我尝试在我的Galaxy S上运行它时,它工作正常,但是当我尝试在模拟器上运行它时,它显示以下错误:
11-13 19:20:31.302: ERROR/AndroidRuntime(289): FATAL EXCEPTION: main
11-13 19:20:31.302: ERROR/AndroidRuntime(289): java.lang.Error: Error copying database
请您帮我解决这个问题,以便它也可以在模拟器上运行吗?
答案 0 :(得分:6)
try
{
copyDataBase();
}
catch (IOException e)
{
throw new Error("Error copying database");
}
您的答案在IOException内。您需要记录堆栈跟踪,或者抛出“错误”而不是抛出这个:
throw new RuntimeException(e);
Android将获取异常并为您记录。这应该告诉你至少从哪里开始。
有两个可能的候选人。
1)资产文件夹中不存在数据库(或名称略有错误)。 2)您的程序文件夹路径错误。