Hacer consulta con cursores desde Android
De WikiCode
| Tweet |
Objetivo
Hacer una consulta a la base de datos usando el DataBaseHelperSqlFromFile de Usar nuestra propia sqlite en Android y guardando el resultado en un cursor para recorrerlo y guardar la información en un ArrayList de objetos de tipo Clspersona Crear una clase en Java.
Presuponemos que tenemos los recursos que hemos comentado y una tabla en la base de datos con la información de personas.
Método
//Devuelve un ArrayList de Clspersona public ArrayList<Clspersona> listarPersonas(Context contexto){ ArrayList<Clspersona> personas=new ArrayList<Clspersona>(); DataBaseHelperSqlFromFile myDbHelper; SQLiteDatabase db=null; myDbHelper = new DataBaseHelperSqlFromFile(contexto); myDbHelper.openDataBase(); db=myDbHelper.getReadableDatabase(); //Consulta a la tabla tblpersonas y saca los campos definidos ordenados por _id Cursor cursor = db.query("tblpersonas", new String[] { "_id","nombre","apellidos","email","telefono"}, null, null, null, null, "_id asc"); if (cursor.moveToFirst()) { do { personas.add(new Clspersona(cursor.getString(1),cursor.getString(2),cursor.getString(3), cursor.getInt(4))); } while (cursor.moveToNext()); } if (cursor != null && !cursor.isClosed()) { cursor.close(); } db.close(); return personas; }
Método 2
En lugar de utilizar el metodo query del SQLiteDatabase también podemos usar el rawQuery para hacer consultas sql.
Cursor cursor = db.rawQuery("SELECT _id, nombre, apellidos, email, telefono FROM tblpersonas order by _id",null);