2011-12-15 20 views
5

Estoy recibiendo el siguiente error:Retuns en ICS y Samsung Nexus en DROP TABLE

android.database.sqlite.SQLiteDiskIOException: error code 10: disk I/O error 
    at android.database.sqlite.SQLiteStatement.native_execute(Native Method) 
    at android.database.sqlite.SQLiteStatement.executeUpdateDelete(SQLiteStatement.java:92) 
    at android.database.sqlite.SQLiteDatabase.executeSql(SQLiteDatabase.java:1926) 
    at android.database.sqlite.SQLiteDatabase.execSQL(SQLiteDatabase.java:1866) 

sólo consigo este error en el ICS 4.0.1 en un teléfono Samsung Nexus. En un emulador, un Motorola Xoom 3.2 y un HTC Desire 2.3.3, el código funciona bien. Mi código está dirigido a la versión 8 o 2.2.x del SDK. El execSQL se ejecuta como sigue:

db.execSQL("DROP TABLE IF EXISTS " + table.getTableName()); 

La base de datos se almacena internamente y no en una tarjeta SD. ¿Alguna sugerencia sobre cómo resolver este problema?

Respuesta

6

Resolvió esto.

El problema fue que antes de las declaraciones de la tabla desplegable había una declaración Context.deleteDatabase('dbName') que obviamente había eliminado la base de datos, y el error de E/S que se informa tiene mucho sentido.

Parece que se ha utilizado anteriormente un enfoque de cinturón y abrazaderas (innecesariamente).

Sin embargo, lo interesante es que esto no se manifestó como un problema hasta el cambio a ICS.

+1

Se produjo el mismo error. Gracias por la respuesta. Realmente lo aprecio. –

Cuestiones relacionadas