openOrCreateDatabase()函数时 出现Failed to open the database错误

来源:互联网 发布:淘宝导航栏全屏代码 编辑:程序博客网 时间:2024/04/30 00:10

在使用SQLiteDatabase.openOrCreateDatabase()函数时 出现Failed to open the database错误,致使数据库打不开。

Filef=context.getDatabasePath("downlog.db");db=SQLiteDatabase.openOrCreateDatabase(FullPath,null);


怀疑是不是因为data/data/xx/databases文件夹不存在所以创建不了数据库,

 

 

修改后的代码

File f=context.getDatabasePath("downlog.db").getParentFile();              if(f.exists()==false)f.mkdirs();//注意是mkdirs()有个s 这样可以创建多重目录。              FullPath=f.getPath()+"/downlog.db";db=SQLiteDatabase.openOrCreateDatabase(FullPath,null);


数据库可以正确创建了,这个问题解决了。

 

不过总觉得有点蹊跷,为什么openOrCreateDatabase(FullPath,null);不会自己创建文件夹呢……

函数不是在activity中使用的,是在service中调用DBHelper类,DBHelper的构造函数中调用的。不知道是不是这个原因。

原创粉丝点击