在添加一些" 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库。
编辑:我忘了提到它在我的手机上工作正常(android 4.1)但是我的平板电脑上发生错误(android 2.2.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