编辑:删除以前的代码清晰
根据建议,我添加了日志消息以查看我被阻止的位置。
似乎它正确地调用了checkDatabase()
,但没有返回复制数据库。这是我的checkDatabase()
方法:
File dbFile = new File(DB_PATH + DB_NAME);
if(dbFile.exists()){
Log.d("True","Returned true");
return true;
}else{
dbFile.getParentFile().mkdirs();
Log.d("CreatedPath","Made the right directory");
return false;
}
在调试日志中,我可以看到我的“创建路径”消息。所以它已经走得那么远了。
然后它返回 false,这应该开始:
public void createDataBase() throws IOException{
boolean dbExist = checkDatabase();
if (!dbExist){
this.getReadableDatabase();
// Calling this method an empty database will be
// created into the default system path of
// the app so we can overwrite with FirstDB.
try{
copyDatabase();
}catch (IOException e) {
throw new Error("Error copying database");
}
}
}
但是,我根本没有看到这些日志消息。就像它返回 false 并继续移动一样。
我需要再打电话createDataBase()
吗?