有没有一种方法可以直接从assets文件夹访问sqlite数据库,还是必须先将该数据库复制到设备数据目录中,即应用程序的数据库文件夹中?我之所以问这个问题,是因为我有一个相当大的数据库(约11MB),必须随应用程序一起发布。在将数据库复制到数据目录后,应用程序将占用两倍的空间。我想避免这种情况发生。此外,是否可能在应用程序安装后删除asset文件夹中的内容?这将有助于节省一些空间。谢谢。
assets文件夹是一个编译时的文件夹。如果不将其复制到您的Linux中,您将无法访问。
是的,您可以从资产文件夹中从数据库中删除文件:
您可以使用"android.resource://"+getPackageName() + "/"
来访问该文件夹,然后使用
File f=new File(_pathToAssestFolder,databasename);
if(f.exists())
{f.delete();
}
但是请在onCreate()
函数的最后一行执行此操作;
试试看