如何从MySql数据库中获取对象的特定数据(如JSONObject类型)?

时间:2017-09-02 03:11:32

标签: java php android mysql json

抱歉我的英文! 我想获取MySql数据库的特定数据,并在Java(Android)代码中使用它来执行某些任务。 例如: 我想获得一个人的Perfil,并根据Perfil收取活动。我使用PHP来获取像JSONObject这样的数据。

我使用以下代码

public void ObtDatos(){
    AsyncHttpClient client = new AsyncHttpClient();
    String url = DIRECCION + "getDataDetalle.php";

    //Paso parametros, en el caso de los pedidos va que le traiga solo lo
    // que esta asociado al DNI de la persona que esta logueada

    RequestParams parametros = new RequestParams();
    parametros.put("id",p.getId());

    client.post(url, parametros, new AsyncHttpResponseHandler() {
        @Override
        public void onSuccess(int statusCode, Header[] headers, byte[] responseBody) {
            if (statusCode == 200){
                CargarLista(obtDatosJSON(new String(responseBody)));
            }
        }

        @Override
        public void onFailure(int statusCode, Header[] headers, byte[] responseBody, Throwable error) {

        }
    });
}

public void CargarLista(final ArrayList<Comida> datos){
    idPedido.setText(""+p.getId());
    nroPedido.setText("Nº DE PEDIDO: "+p.getId());
    barrio.setText("BARRIO: "+p.getBarrio());
    calle.setText("CALLE: "+p.getDireccion());
    pisoDepto.setText("PISO Y DEPTO: "+p.getPisoDepto());
    String ped ="";
    for (int i = 0; i < datos.size();i++){
        ped += datos.get(i).getCantidad() + " " + datos.get(i).getTipo() + " " + datos.get(i).getComida() + " $" +
                Integer.parseInt(datos.get(i).getPrecio())* Integer.parseInt((datos.get(i).getCantidad())) + "\n";
    }
    cantidad.setText("" + ped);
    float monto = 0;
    for(int i = 0; i < datos.size();i++){
        monto += Integer.parseInt(datos.get(i).getPrecio())* Integer.parseInt((datos.get(i).getCantidad()));
    }
    montoACobrar.setText("MONTO A COBRAR: " + monto);
    montoPaga.setText("PAGA CON: " + p.getPagaCon());
    float vuelt = Integer.parseInt(p.getPagaCon())-monto;
    vuelto.setText("VUELTO: " + vuelt);
    cliente.setText("CLIENTE: " + p.getCliente());
    telefono.setText("TELÉFONO: " + p.getTelefono());
    origen.getText();


}

public ArrayList<Comida> obtDatosJSON(String response){
    ArrayList<Comida> listadoArray = new ArrayList<Comida>();
    try{
        JSONArray jsonArray = new JSONArray(response);
        Comida p;
        for (int i = 0; i < jsonArray.length();i++){
            p = new Comida(
                    Integer.parseInt( jsonArray.getJSONObject(i).getString("id")),
                    Integer.parseInt(jsonArray.getJSONObject(i).getString("idPedido")),
                    jsonArray.getJSONObject(i).getString("tipo"),
                    jsonArray.getJSONObject(i).getString("comida"),
                    jsonArray.getJSONObject(i).getString("cantidad"),
                    jsonArray.getJSONObject(i).getString("precio")
            );
            listadoArray.add(p);


        }
    }catch(Exception e){
        e.printStackTrace();
    }
    return listadoArray;
}

用它代码我创建了对象(它很完美),但我想得到一个数据(Perfil)。

感谢。

0 个答案:

没有答案