Android no actualiza la base de datos SQLite

Estoy experimentando algunos problemas con una base de datos SQLIte en mi aplicación de Android. El problema es que la base de datos nunca se actualiza, ni siquiera en múltiples reinicios del emulador, de Eclipse o después de la eliminación de DDMS.

Este es mi método onCreate, ubicado en una clase que extiende SQLiteOpenHelper:

public void onCreate(SQLiteDatabase database) { try { database.execSQL(ESSENCE_TABLE_CREATE); database.execSQL(PACCO_TABLE_CREATE); database.execSQL(TAVOLE_TABLE_CREATE); database.rawQuery("insert into essenza values(1, 'Rovere')", null); // added later } catch (SQLException e) { Log.e("DB", e.getMessage()); } } 

Después de instanciar el ayudante, solicito una referencia a la base de datos:

  helper = new DBHelper(context, dbpath + "/" + DATABASE_NAME); database = helper.getWritableDatabase(); 

Parece que la instrucción rawQuery (que se agregó posteriormente) no se ejecuta y que la base de datos en uso se almacena en caché en una versión anterior. También intenté cambiar la versión de la base de datos, pero no funcionó. ¿Me estoy perdiendo de algo? Gracias por adelantado.

One Solution collect form web for “Android no actualiza la base de datos SQLite”

Tiene dos opciones:

  1. Utilice DDM para eliminar el archivo de base de datos del dispositivo (busque en / data / data /). Esto obligará a Android a ejecutar onCreate de nuevo.
  2. En su constructor, incremente la versión de base de datos que pasa a SQLiteOpenHelper. Agregue su consulta en bruto a onUpgrade.

Es probable que desee la opción 1. La opción 2 es mejor si tiene usuarios de la aplicación cuyas bases de datos desea actualizar.

  • SQLiteOpenHelper: la forma más rápida de ejecutar ~ 20k instrucciones?
  • La escritura concurrente a la base de datos android (de múltiples servicios)?
  • ¿Cuándo debo llamar a close () en SQLiteOpenHelper utilizado por ContentProvider
  • El objeto de conexión de SQLite se filtró - Android
  • Robolectric: ejecutar múltiples pruebas falla
  • La mejor opción para almacenar nombre de usuario y contraseña en la aplicación Android
  • Android obtener la imagen de disco de base de datos es malformado (código 11) error
  • Confundido sobre CursorLoaders y usarlos con un SQLiteOpenHelper personalizado
  • SQLiteOpenHelper múltiples bases de datos en memoria
  • Conexión de SQLite se filtró aunque todo se cerró
  • SQLiteOpenHelper vs ContentProvider
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.