Android资产文件夹中的数据库

3
有没有一种方法可以直接从assets文件夹访问sqlite数据库,还是必须先将该数据库复制到设备数据目录中,即应用程序的数据库文件夹中?我之所以问这个问题,是因为我有一个相当大的数据库(约11MB),必须随应用程序一起发布。在将数据库复制到数据目录后,应用程序将占用两倍的空间。我想避免这种情况发生。此外,是否可能在应用程序安装后删除asset文件夹中的内容?这将有助于节省一些空间。谢谢。

你知道(目前)数据库保存在哪里吗?告诉我。 - Nikunj Patel
2个回答

0

assets文件夹是一个编译时的文件夹。如果不将其复制到您的Linux中,您将无法访问。


0

是的,您可以从资产文件夹中从数据库中删除文件: 您可以使用"android.resource://"+getPackageName() + "/"来访问该文件夹,然后使用

File f=new File(_pathToAssestFolder,databasename);
        if(f.exists())
        {f.delete();
        }

但是请在onCreate()函数的最后一行执行此操作;

试试看


据我所知,APK是一个已签名的zip文件,无法修改。请参考:https://dev59.com/42855IYBdhLWcg3wViy3 - Sergio

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接