2014-07-18 37 views
1

在向我的文件添加一些「大」表之前,一切正常。Android上使用SQLiteAssetHelper的資產/數據大小限制?

我有一個關於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:應用程序未關閉在此處打開的光標或數據庫對象 at android.database.sqlite.SQLiteDatabase。(SQLiteDatabase.java:1810) at android.database.sqlite.SQLiteDatabase.openDatabase(SQLiteDatabase.java:817) at com.readystatesoftware.sqliteasset.SQLiteAssetHelper.returnDatabase(SQLiteAssetHelper.java :408) 在com.readystatesoftware.sqliteasset.SQLiteAssetHelper.createOrOpenDatabase(SQLiteAssetHelper.java:386) 在com.readystatesoftware.sqliteasset.SQLiteAssetHelper.getWritableDatabase(SQLiteAssetHelper.java:182) 在com.readystatesoftware.sqliteasset.SQLiteAssetHelper.getReadableDatabase (SQLiteAssetHelper.java:254)

我試圖清空表,它在此之後再次工作... 我正在使用適用於Firefox的SQLite管理器插件和SQLiteAssetHelper庫。

Can't open database with SQLiteAssetHelper沒有幫助。

編輯:我忘了提,它工作正常,我的手機上(安卓4.1),但在我的平板電腦出現錯誤(安卓2.2.1)

回答

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