抱歉我的英文! 我想获取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)。
感谢。