如何快速检查Android中是否存在数据库?
(不是一个表-整个数据库)
发布于 2011-06-21 12:02:35
打开您的数据库并捕获SQLitException,如果数据库不存在,将抛出该your。请注意,您不应该调用openOrCreateDatabase()方法。详情请参阅此帖子;Query if Android database exists!
发布于 2012-03-10 00:07:41
我检查数据库是否存在的方法是在数据库上打开一个文件句柄,看看文件是否存在。根据我的经验,如果数据库不存在,使用"openOrCreateDatabase()“函数不会抛出错误。看看它的名字"Open OR Create Database“。这意味着如果没有要打开的数据库,它只会创建一个新的数据库,所以无论以前是否有一个数据库,现在都有一个。我认为唯一会抛出错误的时候就是它不能这样做的时候。从那个家伙说的我不相信是他们试图测试的东西,我想他想让他的程序知道数据库是否事先已经存在,如果没有就不自动创建一个空白的数据库。因此,由于所有的数据库都存储为文件,所以在open database命令中的第一个参数是文件名。所以我认为最好的选择是检查db文件是否存在,如下所示:
File dbtest = new File("/data/data/yourpackagename/databases/dbfilename");
//If you have Context, you could get the Database file using the following syntax
//File dbtest = getApplicationContext().getDatabasePath("dbfilename.db");
if(dbtest.exists())
{
// what to do if it does exist
}
else
{
// what to do if it doesn't exist
}https://stackoverflow.com/questions/6420182
复制相似问题