30mb Sqlite3数据库 - 包括在Android应用程序中

时间:2012-03-01 22:34:28

标签: android database sqlite

我有一个SQLite3数据库(在桌面sqlite应用程序中创建),android_metadata表用于我的android应用程序。

使用此数据库文件创建android数据库的最佳方法是什么?

我已尝试将其包含在assets文件夹中,但在将其复制到应用程序时出现大小错误,并且不确定这是否是由于资产文件具有最大大小。

我还阅读了有关将数据库存储在SD卡上并进行访问的指南。

关于androids sqlite helper的哪个函数最好从sqlite3导出中打开一个新数据库?

我将数据库文件推送到data / data / com ../ databases /并创建了一个“android.database.sqlite.SQLiteDatabaseCorruptException:disk malformed ..

不知道怎么做,感谢任何帮助!

2 个答案:

答案 0 :(得分:0)

您可以尝试使用SQLiteAssetHelper,因为它旨在让开发人员可以轻松地使用他们的应用程序打包数据库。

话虽这么说,你的数据库太大了。有很多1.6设备无法为你的APK和解压缩的数据库提供空间。

答案 1 :(得分:0)

你得到一个大小错误的原因是因为android喜欢压缩Assets文件夹中的文件但是如果它们的大小超过1 meg则无法解压缩它们。有些文件扩展名不会像jpeg,gif,mp3,jet那样被压缩。我总是将我的db命名为name.db.jet,然后在将其复制到database目录时将其重命名为name.db。文件的扩展名实际上没有任何意义,只是用.jet这样的扩展名命名它可以绕过最大大小限制。

顺便说一下,如果要包含一个30mb大小的数据库,请务必将其压缩包含在内。这将把它降低到大约10mb。