android截击中的无连接错误
下面是我的代码。我得到com.android.volley.NoConnectionError:java.io.InterruptedIOException,这是第一次,也是第二次,它工作正常。服务器响应也很好,服务器端没有错误android截击中的无连接错误,android,android-volley,android-networking,Android,Android Volley,Android Networking,下面是我的代码。我得到com.android.volley.NoConnectionError:java.io.InterruptedIOException,这是第一次,也是第二次,它工作正常。服务器响应也很好,服务器端没有错误 RequestQueue queue = Volley.newRequestQueue(MainActivity.this); JsonObjectRequest request = new JsonObjectRequest(URL, null,
RequestQueue queue = Volley.newRequestQueue(MainActivity.this);
JsonObjectRequest request = new JsonObjectRequest(URL, null,
new Listener<JSONObject>() {
@Override
public void onResponse(JSONObject responseJsonObject) {
try {
if (responseJsonObject.has("user")
&& !responseJsonObject
.isNull("user")) {
user.jsonParser(responseJsonObject
.getJSONObject("user"));
}
} catch (JSONException exception) {
Toast.makeText(context, "Error Occured",
Toast.LENGTH_SHORT).show();
}
}
}, new ErrorListener() {
@Override
public void onErrorResponse(VolleyError volleyError) {
progressDialog.dismiss();
Log.d("Volley Error", volleyError.toString());
Toast.makeText(context, "Connectivity Error",
Toast.LENGTH_SHORT).show();
}
});
queue.add(request);
progressDialog.show();
queue.start();
RequestQueue=Volley.newRequestQueue(MainActivity.this);
JsonObjectRequest=新的JsonObjectRequest(URL,null,
新侦听器(){
@凌驾
public void onResponse(JSONObject responseJsonObject){
试一试{
if(responseJsonObject.has(“用户”)
&&!responseJsonObject
.isNull(“用户”)){
jsonParser(responseJsonObject
.getJSONObject(“用户”);
}
}捕获(JSONException异常){
Toast.makeText(上下文,“发生错误”,
吐司。长度(短)。show();
}
}
},新的ErrorListener(){
@凌驾
公共错误响应(截击错误截击错误){
progressDialog.disclose();
Log.d(“截击错误”,截击错误.toString());
Toast.makeText(上下文,“连接错误”,
吐司。长度(短)。show();
}
});
添加(请求);
progressDialog.show();
queue.start();
我也有同样的问题。该问题有一个使用OkHttp的变通方法,如果在volley中使用OkHttp作为堆栈,则可以使用该方法(另请参见该问题中的注释)
然而,这里有另一个不涉及使用其他库的黑客解决方法:
final RequestQueue requestQueue = getRequestQueue();
final class ErrorFirstTimeHack {
boolean first_time = true;
MyVolleyJsonObjectRequest request = null;
}
final ErrorFirstTimeHack errorFirstTimeHack = new ErrorFirstTimeHack();
final MyVolleyJsonObjectRequest request = buildRequestObject(
Request.Method.GET,
url,
new Response.Listener() {
@Override
public void onResponse(Object response) {
// normal success processing
}
},
new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
if (error instanceof com.android.volley.NoConnectionError) {
if (errorFirstTimeHack.first_time) {
errorFirstTimeHack.first_time = false;
requestQueue.add(errorFirstTimeHack.request);
return;
}
}
// normal error processing
}
}
);
errorFirstTimeHack.request = request;
requestQueue.add(request);
我也遇到了同样的问题,我通过删除下面的行来解决它
queue.start()
你能发布准确的日志吗,这可能会有帮助。例如:com.android.volley.NoConnectionError:java.io.IOException:No authentication challenges foundcom.android.volley.NoConnectionError:java.io.InterruptedIOExceptionSorry buddy,不知道。。看看这是否有帮助:需要帮助吗