2017-08-21 28 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