30mb Sqlite3数据库 - 包括在Android应用程序
问题描述:
我有一个SQLite3数据库(在桌面sqlite应用程序中创建),android_metadata表用于我的android应用程序。30mb Sqlite3数据库 - 包括在Android应用程序
什么是使用这个数据库文件创建android数据库的最佳方式是什么?
我已经试过将它包含在资产文件夹中,但在将其复制到应用程序时遇到大小错误,并且不确定是否这是由于资产文件具有最大大小。
我也读过关于将数据库存储在SD卡上并访问它的指南。
androids sqlite helper上的哪个函数最好从sqlite3导出中打开一个新的数据库?
我把数据库文件的数据/数据/ COM ../数据库/和它创造了一个“android.database.sqlite.SQLiteDatabaseCorruptException:磁盘畸形..
不知道如何做到这一点,明白任何帮助!
答
您可以尝试使用SQLiteAssetHelper
这一点,因为它的目的是使开发人员更容易与他们的应用程序包的数据库。
话虽这么说,你的数据库是太大了。有大量的1.6设备不会为你的APK和解压后的数据库留出空间。
答
您收到大小错误的原因是因为android喜欢压缩Assets文件夹中的文件,但如果大小超过1 meg,则无法解压。某些文件扩展名不会像jpeg,gif,mp3,jet那样被压缩。我总是将我的数据库命名为name.db.jet,然后在将它复制到数据库目录时将其重命名为name.db。文件上的扩展名的意思真的没什么意思,只不过用像.jet这样的扩展名来命名它。顺便说一句,如果你要包含一个30MB大小的数据库,一定要包含它压缩。这将减少到约10mb的大小。
你正在建造哪个android版本? 2.2? – waqaslam 2012-03-01 22:39:29
2.3,但它向后兼容1.6 – user1184075 2012-03-01 22:42:26
和你的手机/模拟器是什么版本? – waqaslam 2012-03-01 22:45:26