buenas nrzlftw
yo te aconsejaría que para consumir servicios web utilices la librería que google presentó para este fin llamada volley:
https://android.googlesource.com/pla...23e8c1d143d5fa
Su uso puede parecer complicado en un principio, pero ni mucho menos. Te dejo un ejemplo por aquí:
vas a tener que crear un método donde hagas lo siguiente:
En la clase en la que hagas la petición al php tendrás que crear un atributo del tipo RequestQueue
Código:
RequestQueue mRequestQueue;
después, en el método principal tendrás que inicializarlo. Además tendrás que hacer la llamada al método nuevo que crearemos para hacer la petición propiamente dicha.
Código:
mRequestQueue = Volley.newRequestQueue(context);
...
...
metodoNuevoParaHacerLaPeticion();
Código:
private metodoNuevoParaHacerLaPeticion()
{
JsonObjectRequest jr = new JsonObjectRequest(Request.Method.GET, url, null,
new Response.Listener<JSONObject>()
{
@Override
public void onResponse(JSONObject response)
{
//el parseo del json que tengas
}
},
new Response.ErrorListener()
{
@Override
public void onErrorResponse(VolleyError error)
{
//error que quieras mostrar
}
});
mRequestQueue.add(jr);
}
En el código del método nuevo tendrás que poner el parseador, que debería ser algo como esto, más o menos:
Código:
ArrayList<News> productosList = new ArrayList<Producto>();
try
{
JSONArray jArray = jObject.getJSONArray("productos");
for (int i = 0; i < jArray.length(); i++)
{
Producto prod = new Producto();
prod.setCode(jArray.getJSONObject(i).getString("codeqr"));
prod.setActions(jArray.getJSONArray("actions"));
productosList.add(prod);
}
}
catch (Exception e)
{
}
Este código del parseo le he hecho del tirón, así que a lo mejor no está bien, pero es para que te hagas una idea.
Un saludo