Error con Volley: Attempt to invoke virtual method ‘com.android.volley.Request

publicado por: Anonymous

Estoy trabajando con una aplicación que debe conectar con servicios web para poder consultar información de una BD remota, pero al momento de que presiono un botón para lanzar mi servicio web me da el siguiente error:

Attempt to invoke virtual method ‘com.android.volley.Request
com.android.volley.RequestQueue.add(com.android.volley.Request)’ on a
null object reference

No se porque da este error, cuando mi aplicación inicia carga un servicio web que inicia sin problemas pero al usar el botón para lanzar el siguiente servicio web es donde marca el error, esta es la clase donde estoy conectándome con mi Base de datos:

public class noticiasWebService implements Response.Listener<JSONObject>, Response.ErrorListener {

    RequestQueue request;
    JsonObjectRequest jsonObjectRequest;

    public void update(String tituloNoticia, String subtituloNoticia, String imagenNoticia, String descripcionNoticia) {

        String url = "http://192.168.1.72:80/webservicemgrex/agregarFavoritos.php?tituloFavorito="+tituloNoticia+"" +
                "&subtituloFavorito="+subtituloNoticia+
                "&imagenFavorito="+imagenNoticia+
                "&descripcionFavoritos="+descripcionNoticia;

        url = url.replace(" ","%20");
        jsonObjectRequest = new JsonObjectRequest(Request.Method.GET,url,null,this,this);
        request.add(jsonObjectRequest);
    }

    @Override
    public void onResponse(JSONObject response) {
        Log.i("Error","Se haregistrado con exito: "+response);
    }

    @Override
    public void onErrorResponse(VolleyError error) {
        Log.i("Error","No se pudo consultar el registro: "+error.toString());
    }
}

solución

Lo que sucede es que es has declarado tu RequestQueue pero no lo has instanciado la clase de Volley, tucodigo quedaria asi:

public class noticiasWebService implements Response.Listener<JSONObject>, Response.ErrorListener {

    RequestQueue request;
    JsonObjectRequest jsonObjectRequest;

    public void update(String tituloNoticia, String subtituloNoticia, String imagenNoticia, String descripcionNoticia, Context context) {

        String url = "http://192.168.1.72:80/webservicemgrex/agregarFavoritos.php?tituloFavorito="+tituloNoticia+"" +
                "&subtituloFavorito="+subtituloNoticia+
                "&imagenFavorito="+imagenNoticia+
                "&descripcionFavoritos="+descripcionNoticia;

        url = url.replace(" ","%20");
        request = Volley.newRequestQueue(context);
        jsonObjectRequest = new JsonObjectRequest(Request.Method.GET,url,null,this,this);
        request.add(jsonObjectRequest);
    }

    @Override
    public void onResponse(JSONObject response) {
        Log.i("Error","Se haregistrado con exito: "+response);
    }

    @Override
    public void onErrorResponse(VolleyError error) {
        Log.i("Error","No se pudo consultar el registro: "+error.toString());
    }
}
Respondido por: Anonymous

Leave a Reply

Your email address will not be published.