使用SQLiteAssetHelper的android资产/数据大小限制?

时间:2014-07-18 22:50:58

标签: android database sqlite android-sqlite

在添加一些" big"之前,一切正常。表到我的文件。

我有一张重约2Mo的表,现在我收到了这个错误:

  

07-19 00:47:51.210 4703-4703 / com.lectem.gecharacters   W / SQLiteAssetHelper:从资产中复制数据库... 07-19   00:47:51.280 4703-4705 / com.lectem.gecharacters E /数据库:close()   从未在数据库上明确调用过   ' /data/data/com.lectem.gecharacters/databases/gechar2.sqlite'       android.database.sqlite.DatabaseObjectNotClosedException:应用程序没有关闭光标或数据库对象   在这里开了               在android.database.sqlite.SQLiteDatabase。(SQLiteDatabase.java:1810)               在android.database.sqlite.SQLiteDatabase.openDatabase(SQLiteDatabase.java:817)               at com.readystatesoftware.sqliteasset.SQLiteAssetHelper.returnDatabase(SQLiteAssetHelper.java:408)               at com.readystatesoftware.sqliteasset.SQLiteAssetHelper.createOrOpenDatabase(SQLiteAssetHelper.java:386)               at com.readystatesoftware.sqliteasset.SQLiteAssetHelper.getWritableDatabase(SQLiteAssetHelper.java:182)               在com.readystatesoftware.sqliteasset.SQLiteAssetHelper.getReadableDatabase(SQLiteAssetHelper.java:254)

我试图清空桌子,之后它再次起作用...... 我正在使用Firefox的SQLite Manager插件和SQLiteAssetHelper库。

Can't open database with SQLiteAssetHelper没有帮助。

编辑:我忘了提到它在我的手机上工作正常(android 4.1)但是我的平板电脑上发生错误(android 2.2.1)

1 个答案:

答案 0 :(得分:0)

答案在自述文件中...... https://github.com/jgilfelt/android-sqlite-asset-helper 我使用gzip压缩我的数据库,但似乎你真的需要为旧设备使用zip。

  

此库的早期版本需要数据库资产   在ZIP存档中压缩。这不再是要求,而是   仍然受支持。仍然针对Gingerbread的应用程序(API 10)   或者应该继续提供压缩存档以确保   在打包过程中,大型数据库文件不会损坏。   还支持更友好的Linux GZIP格式。命名   使用上述示例的约定如下:

ZIP: assets/databases/northwind.db.zip (a single SQLite database file must be the only file within the archive)
GZIP: assets/databases/northwind.db.gz