Tenho uma duvida em relação a Consultas.
Quero fazer uma consulta com 5 campos,que me retorne uma lista, só que pra fazer a validacao de 5 campos vai ficar muito extenso meu codigo. Queria uma sugestao para realizar estas validaçoes;
public List<Veiculo> ConsultaVeiculos(String campoMarca, String campoAno, String campoModelo, String campoPlaca) {
String sql = "SELECT * FROM Vehicle;";
SQLiteDatabase db = getReadableDatabase();
Cursor c = db.rawQuery(sql, null);
List<Veiculo> veiculos = new ArrayList<Veiculo>();
List<Veiculo> veiculosConsulta = new ArrayList<Veiculo>();
while (c.moveToNext()){
Veiculo veiculo = new Veiculo();
veiculo.setId(c.getLong(c.getColumnIndex("id")));
veiculo.setPlaca(c.getString(c.getColumnIndex("placa")));
veiculo.setModelo(c.getString(c.getColumnIndex("modelo")));
veiculo.setAno(c.getString(c.getColumnIndex("ano")));
veiculo.setMarca(c.getString(c.getColumnIndex("marca")));
veiculos.add(veiculo);
}
for(Veiculo v : veiculos) {
if(v.getMarca().toString().matches(campoMarca) && campoAno.isEmpty() && cam){
veiculosConsulta.add(v);
}
if(v.getAno().toString().matches(campoAno)){
veiculosConsulta.add(v);
}
if(v.getModelo().toString().matches(campoModelo)){
veiculosConsulta.add(v);
}
if(v.getPlaca().toString().matches(campoPlaca)){
veiculosConsulta.add(v);
}
.
.
.
.
.
}
return veiculosConsulta;
}
}