2012-06-13 13 views

Respuesta

5

Inserte valores en el método onCreate de su SQLiteOpenHelper. Llamaba solo cuando tu DB había sido creado.

+0

Esto es bueno para insertar datos para recuperar la base de datos con los datos iniciales, por lo que no está vacío cuando se instaló por primera vez la aplicación. – PhoneixS

1

Las bases de datos SQLite son persistentes, por lo que una vez que tiene la aplicación en un teléfono o tableta y se crea la base de datos, los registros deben permanecer ahí hasta que elimine los registros o toda la base de datos.

Debería llamar al SQLiteDatabaseHelper desde su clase de aplicación. Entonces, cada vez que abre la aplicación, solo busca la base de datos por el nombre que le da. Si no puede encontrar la base de datos, la crea: si tiene un registro que desea insertar una vez y solo una vez, debe crear los registros en el método onCreate.

0

Sin código o más detalles sobre exactamente lo que quiere hacer, es difícil ayudar demasiado. Sin embargo, lo que puede hacer es vincular su función de inserción de sql a OnClickListener u otro agente de escucha de acción, de modo que la entrada solo se agregue cuando lo desee y no cada vez que se crea la actividad.

14
//DB HANDLER CLASS 
    public void saveRecords(String info, int otherinfo, int greatinfo){ 

    SQLiteDatabase db = this.getWritableDatabase(); 

    ContentValues values = new ContentValues(); 
    values.put(STRING_COLUMNA, info); // inserting a string 
    values.put(STRING_COLUMNB, otherinfo); // inserting an int 
    values.put(STRING_COLUMNC, greatinfo); // inserting an int 

    // Inserting Row 
    db.insert(TABLE_NAME, null, values); 
    db.close(); // Closing database connection 

} 

¡Buena suerte!

+3

Considere envolver las operaciones de la base de datos en la transacción - vea [ejemplo de Android actualizando la base de datos usando una transacción] (http://android.codota.com/scenarios/528e1e21da0ae9404ad3ab53/android.database.sqlite.SQLiteDatabase?tag=bumblebee) – drorw

Cuestiones relacionadas