有没有办法从assets文件夹直接访问sqlite数据库,还是总是需要首先将此数据库复制到应用程序数据库文件夹中的设备数据目录?
(示例 - Environment.getDataDirectory()+“/ data / com.example.myapp / databases / myDb.db”)
我问,因为我有一个非常大的数据库(大约11MB),并且必须随应用程序一起提供。将数据库复制到数据目录后,应用程序将占用两倍的空间。我想避免这种情况。
此外,是否可以在安装应用程序后删除资产文件夹的内容?这有助于节省一些空间。
由于
答案 0 :(得分:0)
assets文件夹是一个编译时文件夹。没有在linux中复制就无法访问
答案 1 :(得分:0)
是的,您可以从assets文件夹中删除数据库中的文件:
您可以使用"android.resource://"+getPackageName() + "/"
访问该文件夹,然后使用
File f=new File(_pathToAssestFolder,databasename);
if(f.exists())
{f.delete();
}
但是在onCreate()
函数的最后一行中执行;
试试吧