如何为部件SOAP发送用户的ArrayList?

时间:2016-08-07 16:04:28

标签: java android web-services soap

我有一个包含许多数据用户的数据库,并且在SOAP中有一个方法可以让我回到所有这些用户的ArrayList并在Android中的ListView中列出,但问题是他告诉我所有数据,如果我有1000在银行的记录中,如果我有10,000个,他会发送给我1000个等等,这会导致应用程序中的错误,加载所有内容需要太长时间......有什么方法可以限制此请求吗?他只有在被问到时才会从10个用户发送到10个用户?

这是我的对象DAO

public ArrayList<Estudio> buscarTodosEstudios(){
    ArrayList<Estudio> lista = new ArrayList<Estudio>();

    try{
        Connection conn =  ConectaMySql.obtemConexao();

        String queryInserir = "SELECT * FROM estudios WHERE STATUS_ESTUDIO = 'ATIVO'";

        PreparedStatement ppStm = conn.prepareStatement(queryInserir);          



        ResultSet rSet = ppStm.executeQuery();

        while(rSet.next()){
            Estudio est = new Estudio();

            est.setID_ESTUDIO(rSet.getInt(1));
            est.setRAZAO_SOCIAL_ESTUDIO(rSet.getString(2));
            est.setNOME_FANTASIA_ESTUDIO(rSet.getString(3));
            est.setCNPJ_ESTUDIO(rSet.getString(4));
            est.setLOGO_ESTUDIO(rSet.getBytes(5));
            est.setSENHA_ESTUDIO(rSet.getString(6));
            est.setESTADO_ESTUDIO(rSet.getString(7));
            est.setCIDADE_ESTUDIO(rSet.getString(8));
            est.setBAIRRO_ESTUDIO(rSet.getString(9));
            est.setRUA_ESTUDIO(rSet.getString(10));
            est.setCEP_ESTUDIO(rSet.getString(11));
            est.setCOMPLEMENTO_ESTUDIO(rSet.getString(12));
            est.setTELEFONE_ESTUDIO(rSet.getString(13));
            est.setEMAIL_ESTUDIO(rSet.getString(14));
            est.setSITE_ESTUDIO(rSet.getString(15));
            est.setSALDO_ESTUDIO(rSet.getDouble(16));
            est.setSALDO_PENDENTE_ESTUDIO(rSet.getDouble(17));
            est.setSALDO_BLOQUEADO_ESTUDIO(rSet.getDouble(18));
            est.setCONTA_BANCARIA_ESTUDIO(rSet.getString(19));
            est.setSTATUS_ESTUDIO(rSet.getString(20));


            lista.add(est);
            }

        conn.close();
    } catch (Exception e) {
        e.printStackTrace();
    }

    return lista;       
}

1 个答案:

答案 0 :(得分:0)

在queryInserir字符串中设置限制,如下所示:

String queryInserir = "SELECT * FROM estudios WHERE STATUS_ESTUDIO = 'ATIVO' LIMIT yourLimit";