对于我的Android应用程序,我想使用一个大型数据库(约45 MB).
一种解决方案是将(拆分的)数据库包含在assets文件夹中,并在第一次启动时将其复制到数据库目录.
但这会消耗磁盘空间两次 – 一次在资产文件夹中,文件无法删除,一次在数据库目录中,它已被复制到.
所以我宁愿在第一次启动时从Internet(webserver)下载数据库.我怎么能这样做?我可以下载完整的sqlite文件并将其保存到数据库目录中吗?或者我应该使用用于填充数据库的JSON数据文件?
One solution would be to include the (splitted) database in the assets folder and copy it to the database directory on the first startup.
它不必拆分,只是拉链.有关示例,请参见SQLiteAssetHelper
.
How could I do this?
使用HttpUrlConnection.或者,使用HttpClient.
Can I download a complete sqlite file and save it to the database directory?
是.使用getDatabasePath()
获取正确的本地路径以使用.
Or should I rather go with JSON data files that are used to populate the database?
你可以,但对于45MB,这将是非常缓慢的.