2017-08-21 27 views
0

我正在使用排球进行联网,并且在我的NetworkManager类中不断收到奇怪的错误。使用排球时出现OnErrorResponse问题

OnErrorResponse不断得到标记为搭载Android工作室的错误:

enter image description here

但是生成项目和工作正常,没有错误。 我已经清理并重建我的项目以及使缓存失效并重新启动android studio。

我完整的请求方法:

public void postRequest(String url, JSONObject requestBody, final Context mContext, final NetworkListener<JSONObject> networkListener) { 


    Log.d(TAG + " >>> REQUEST URL", url); 
    Log.d(TAG + " >>> REQUEST BODY", requestBody.toString()); 

    try { 
     if (!url.contains("login")) { 
      requestBody.put("auth", addAuthToRequest()); 
      Log.d(TAG + " >>> REQUEST BODY AUTH", requestBody.toString()); 
     } 
    } catch (JSONException e) { 
     e.printStackTrace(); 
    } 

    JsonObjectRequest request = new JsonObjectRequest(Request.Method.POST, url, requestBody, new Response.Listener<JSONObject>() { 
     @Override 
     public void onResponse(JSONObject response) { 

      Log.d(TAG + " >>> RESPONSE", response.toString()); 
      try { 
       if (response.getString("message").equals("Invalid session token")) { 
        handleInvalidSessionToken(mContext); 
       } else { 
        networkListener.onResult(response); 
       } 
      } catch (JSONException e) { 
       e.printStackTrace(); 
      } 
     } 
    }, new Response.ErrorListener() { 
     @Override 
     public void onErrorResponse(VolleyError error) { 
      networkListener.onErrorResult(error); 
      error.printStackTrace(); 
     } 
    }); 

    request.setRetryPolicy(new DefaultRetryPolicy(60000, 0, DefaultRetryPolicy.DEFAULT_BACKOFF_MULT)); 
    requestQueue.add(request); 
} 
+0

您正在使用哪种版本的排球? @ MichaelStoddart –

+0

@ A.N.T即时通讯使用谷歌com.android.volley官方gradle导入:volley:1.0.0 – MichaelStoddart

+0

import this com.android.volley.VolleyError; @ MichealStoddart –

回答

0

因此,原来我的问题是,当我试图建立一个APK,我只发现了重复的方法。

我正在使用官方的volley lib和第三方的名为VolleyPlus的图片上传。

我删除了官方回购和重新做我的进口,这摆脱了我的错误。

前:

dependencies { 
    compile 'com.android.volley:volley:1.0.0' 
    compile 'dev.dworks.libs:volleyplus:0.1.4' 
} 

后:

dependencies { 
    compile 'dev.dworks.libs:volleyplus:0.1.4' 
} 

由于VolleyPlus拥有所有的截击方法多了,我想我可以删除官方lib和只使用VolleyPlus