3

有没有办法从 assets 文件夹直接访问 sqlite 数据库,还是总是需要先将此 db 复制到应用程序的数据库文件夹中的设备数据目录?

(示例 - Environment.getDataDirectory()+"/data/com.example.myapp/databases/myDb.db")

我问是因为我有一个非常大的数据库(大约 11MB)并且必须随应用程序一起提供。将数据库复制到数据目录后,应用程序将占用两倍的空间。我想避免这种情况。

另外,安装应用程序后是否可以删除资产文件夹的内容?这将有助于节省一些空间。

谢谢

4

2 回答 2

0

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

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

但在函数的最后一行onCreate()执行;

试试看

于 2011-07-08T05:56:32.017 回答
0

assets 文件夹是编译时文件夹。不复制你的linux就无法访问

于 2011-07-08T05:43:20.867 回答