默认情况下,Volley抛出onErrorResponse

时间:2016-01-10 00:06:22

标签: android json android-volley

 JsonObjectRequest TweetReq = new JsonObjectRequest(Request.Method.GET,URL1,null, new Response.Listener<JSONObject>()
            {
                @Override
                public void onResponse(JSONObject response) {

                    //hidePDialog();

                    SharedPreferences Tempx = getSharedPreferences("ActivitySession", Context.MODE_PRIVATE);
                    SharedPreferences.Editor edx = Tempx.edit();
                    edx.putString("GSON_FEED", response.toString());
                    Log.d("WORKING RESPONSE:::::", response.toString());
                    edx.apply();

                    Gson gson = new Gson();


                    MainPojo main = gson.fromJson( Tempx.getString("GSON_FEED","") , MainPojo.class);

                    statusX = main.getStatuses();
                    for (Status result : statusX) {

                        Log.w("LOKLAK:::",""+result.getUser().getName());

                    }

                    mAdapter.notifyDataSetChanged();

                }
            }, new Response.ErrorListener() {
        @Override
        public void onErrorResponse(VolleyError error)
        {

            Gson gson = new Gson();
            JsonParser parser = new JsonParser();
            //JsonArray jArray = parser.parse(Tempx.getString("GSON_FEED","")).getAsJsonArray();

            SharedPreferences Tempx = getSharedPreferences("ActivitySession", Context.MODE_PRIVATE);
            MainPojo main = gson.fromJson( Tempx.getString("GSON_FEED","") , MainPojo.class);

            statusX = main.getStatuses();
            for (Status result : statusX) {

                Log.w("LOKLAK:::",""+result.getUser().getName());

            }
            mAdapter.notifyDataSetChanged();


            VolleyLog.d("EDUKNOW::::", "Error: " + error.getMessage());
        }
    });

尝试存储JSON对象,但无论何时执行,Volley都会自动执行onErrorResponse(),导致这种情况的原因是什么?

1 个答案:

答案 0 :(得分:1)

在onErrorResponse中添加此项以检查错误:

try{
    Log.e("myerror","deal first",e);
    Log.e("myerror","deal success"+new String(error.networkResponse.data,"utf-8"));
}catch (Throwable e){
    Log.e("myerror","deal fail",e);
}