fervillagon
15/09/15, 10:39:17
Hola a todos.
A ver si alguien me puede echar una mano con este tema.
Tengo una aplicación con una base de datos que me devuelve resultados de acuerdo a a querys SQL. Todas esas querys las tengo en el archivo DBController.java que es desde donde creo, actualizo y ejecuto la base de datos.
Cada vez que tengo que definir una nueva query SQL copio, pego y adapto un pedazo de codigo como el siguiente:
public ArrayList<HashMap<String, String>> DevolverResultado1() {
ArrayList<HashMap<String, String>> listado12pa;
listado12pa = new ArrayList<HashMap<String, String>>();
String selectQuery = "SELECT * FROM nombretabla WHERE campo1 LIKE 'palabra%' AND campo2!='--' ORDER BY campo3";
SQLiteDatabase database = this.getWritableDatabase();
Cursor cursor = database.rawQuery(selectQuery, null);
if (cursor.moveToFirst()) {
do {
HashMap<String, String> map = new HashMap<String, String>();
map.put("id", cursor.getString(0));
map.put("campo1", cursor.getString(1));
map.put("campo2", cursor.getString(2));
map.put("campo3", cursor.getString(3));
map.put("campo4", cursor.getString(4));
map.put("campo5", cursor.getString(5));
map.put("campo6", cursor.getString(6));
map.put("campo7", cursor.getString(7));
map.put("campo8", cursor.getString(8));
map.put("campo9", cursor.getString(9));
map.put("campo10", cursor.getString(10));
map.put("campo11", cursor.getString(11));
map.put("campo12", cursor.getString(12));
map.put("campo13", cursor.getString(13));
map.put("campo14", cursor.getString(14));
map.put("campo15", cursor.getString(15));
map.put("campo16", cursor.getString(16));
map.put("campo17", cursor.getString(17));
map.put("campo18", cursor.getString(18));
map.put("campo19", cursor.getString(19));
map.put("campo20", cursor.getString(20));
map.put("campo21", cursor.getString(21));
map.put("campo22", cursor.getString(22));
map.put("campo23", cursor.getString(23));
map.put("campo24", cursor.getString(24));
map.put("campo25", cursor.getString(25));
map.put("campo26", cursor.getString(26));
map.put("campo27", cursor.getString(27));
map.put("campo28", cursor.getString(28));
map.put("campo29", cursor.getString(29));
listado12pa.add(map);
} while (cursor.moveToNext());
}
return listado12pa;
}
Quiero saber como puedo optimizar lineas de codigo y no tener que repetir tanto código cada vez que quiero definir una nueva consulta sql.
Antes trabajaba con un "contentValues" y tiraba menos lineas, pero ahora e implantado otros métodos en toda la aplicación y necesito optimizar con estos "arrayslist", ademas de que para mi es más cómodo tirar las consultas SQL literalmente y no con lineas del tipo "db.execSQL" como hacia con el "contentValues".
Gracias de antemano.
A ver si alguien me puede echar una mano con este tema.
Tengo una aplicación con una base de datos que me devuelve resultados de acuerdo a a querys SQL. Todas esas querys las tengo en el archivo DBController.java que es desde donde creo, actualizo y ejecuto la base de datos.
Cada vez que tengo que definir una nueva query SQL copio, pego y adapto un pedazo de codigo como el siguiente:
public ArrayList<HashMap<String, String>> DevolverResultado1() {
ArrayList<HashMap<String, String>> listado12pa;
listado12pa = new ArrayList<HashMap<String, String>>();
String selectQuery = "SELECT * FROM nombretabla WHERE campo1 LIKE 'palabra%' AND campo2!='--' ORDER BY campo3";
SQLiteDatabase database = this.getWritableDatabase();
Cursor cursor = database.rawQuery(selectQuery, null);
if (cursor.moveToFirst()) {
do {
HashMap<String, String> map = new HashMap<String, String>();
map.put("id", cursor.getString(0));
map.put("campo1", cursor.getString(1));
map.put("campo2", cursor.getString(2));
map.put("campo3", cursor.getString(3));
map.put("campo4", cursor.getString(4));
map.put("campo5", cursor.getString(5));
map.put("campo6", cursor.getString(6));
map.put("campo7", cursor.getString(7));
map.put("campo8", cursor.getString(8));
map.put("campo9", cursor.getString(9));
map.put("campo10", cursor.getString(10));
map.put("campo11", cursor.getString(11));
map.put("campo12", cursor.getString(12));
map.put("campo13", cursor.getString(13));
map.put("campo14", cursor.getString(14));
map.put("campo15", cursor.getString(15));
map.put("campo16", cursor.getString(16));
map.put("campo17", cursor.getString(17));
map.put("campo18", cursor.getString(18));
map.put("campo19", cursor.getString(19));
map.put("campo20", cursor.getString(20));
map.put("campo21", cursor.getString(21));
map.put("campo22", cursor.getString(22));
map.put("campo23", cursor.getString(23));
map.put("campo24", cursor.getString(24));
map.put("campo25", cursor.getString(25));
map.put("campo26", cursor.getString(26));
map.put("campo27", cursor.getString(27));
map.put("campo28", cursor.getString(28));
map.put("campo29", cursor.getString(29));
listado12pa.add(map);
} while (cursor.moveToNext());
}
return listado12pa;
}
Quiero saber como puedo optimizar lineas de codigo y no tener que repetir tanto código cada vez que quiero definir una nueva consulta sql.
Antes trabajaba con un "contentValues" y tiraba menos lineas, pero ahora e implantado otros métodos en toda la aplicación y necesito optimizar con estos "arrayslist", ademas de que para mi es más cómodo tirar las consultas SQL literalmente y no con lineas del tipo "db.execSQL" como hacia con el "contentValues".
Gracias de antemano.