资产文件夹中的 android 数据库
有没有办法直接从资产文件夹访问 sqlite 数据库,或者总是需要先将此数据库复制到应用程序数据库文件夹中的设备数据目录?
(示例-Environment.getDataDirectory()+"/data/com.example.myapp/databases/myDb.db")
我问这个问题是因为我有一个非常大的数据库(大约11MB)并且必须与应用程序一起提供。将数据库复制到数据目录后,应用程序将占用两倍的空间。我想避免这种情况。
另外,安装应用程序后是否可以删除 asset 文件夹中的内容?这将有助于节省一些空间。
谢谢
Is there a way to directly access the sqlite database from the assets folder, or is it always necessary to first copy this db to the device data directory, in the app's database folder?
(Example - Environment.getDataDirectory()+"/data/com.example.myapp/databases/myDb.db")
I ask because I have a db that is quite large (about 11MB) and has to be shipped with the app. After the database has been copied to the data directory, the app will take twice the space. I want to avoid this.
Also, is it possible to delete the contents of the asset folder after the app has been installed? This would help save some space.
Thanks
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
资产文件夹是编译时文件夹。如果不复制到你的linux中就无法访问
assets folder is a compile time folder. You cannot access without copying in your linux
是的,您可以从资产文件夹中删除数据库中的文件:
您可以使用
"android.resource://"+getPackageName() + "/"
访问该文件夹,然后在
onCreate()
的最后一行使用 but > 功能;尝试一下
yes you can delete the files from the database from the assets folder :
you can use
"android.resource://"+getPackageName() + "/"
to access the folder and then usebut do it in the last line of
onCreate()
function;try it