1. - ::47.470 -/com.tongyan.tutelage W/System.err: com.android.volley.NoConnectionError: java.io.InterruptedIOException
  2. - ::47.470 -/com.tongyan.tutelage W/System.err: at com.android.volley.toolbox.BasicNetwork.performRequest(BasicNetwork.java:)
  3. - ::47.470 -/com.tongyan.tutelage W/System.err: at com.android.volley.NetworkDispatcher.run(NetworkDispatcher.java:)
  4. - ::47.470 -/com.tongyan.tutelage W/System.err: Caused by: java.io.InterruptedIOException
  5. - ::47.470 -/com.tongyan.tutelage W/System.err: at com.android.okio.Deadline.throwIfReached(Deadline.java:)
  6. - ::47.470 -/com.tongyan.tutelage W/System.err: at com.android.okio.Okio$.write(Okio.java:)
  7. - ::47.470 -/com.tongyan.tutelage W/System.err: at com.android.okio.RealBufferedSink.flush(RealBufferedSink.java:)
  8. - ::47.470 -/com.tongyan.tutelage W/System.err: at com.android.okhttp.internal.http.HttpConnection.flush(HttpConnection.java:)
  9. - ::47.470 -/com.tongyan.tutelage W/System.err: at com.android.okhttp.internal.http.HttpTransport.flushRequest(HttpTransport.java:)
  10. - ::47.470 -/com.tongyan.tutelage W/System.err: at com.android.okhttp.internal.http.HttpEngine.readResponse(HttpEngine.java:)
  11. - ::47.470 -/com.tongyan.tutelage W/System.err: at com.android.okhttp.internal.http.HttpURLConnectionImpl.execute(HttpURLConnectionImpl.java:)
  12. - ::47.470 -/com.tongyan.tutelage W/System.err: at com.android.okhttp.internal.http.HttpURLConnectionImpl.getResponse(HttpURLConnectionImpl.java:)
  13. - ::47.470 -/com.tongyan.tutelage W/System.err: at com.android.okhttp.internal.http.HttpURLConnectionImpl.getResponseCode(HttpURLConnectionImpl.java:)
  14. - ::47.470 -/com.tongyan.tutelage W/System.err: at com.android.volley.toolbox.HurlStack.performRequest(HurlStack.java:)
  15. - ::47.470 -/com.tongyan.tutelage W/System.err: at com.android.volley.toolbox.BasicNetwork.performRequest(BasicNetwork.java:)
  16. - ::47.470 -/com.tongyan.tutelage W/System.err: ... more

这个错误是你在不经意间导致的,或者是没有很好的去熟悉volley包的api导致的。

  1. public void onRequest(String url){
  2. if(isIntnetConn){
  3. StringRequest request = new StringRequest(url, new Response.Listener<String>() {
  4. @Override
  5. public void onResponse(String s) {
  6. mListener.onSuccess(s);
  7. }
  8. }, new Response.ErrorListener() {
  9. @Override
  10. public void onErrorResponse(VolleyError volleyError) {
  11. String errorMsg = "";
  12. if(volleyError instanceof TimeoutError) {
  13. mListener.onError();
  14. } else if(volleyError instanceof ServerError) {
  15. mListener.onError();
  16. } else {
  17. mListener.onError();
  18. errorMsg = mContext.getResources().getString(R.string.request_error);
  19. }
  20. }
  21. });
  22. request.setRetryPolicy(new DefaultRetryPolicy( * , , 1.0f));//设置超时时间
  23. mQueue.add(request);
  24. //mQueue.start();
  25. }else{
  26. Toast.makeText(mContext, "当前的网络连接不可用", Toast.LENGTH_SHORT).show();
  27. mListener.onIntnetDisConn();
  28. }
  29. }

只是因为加了下面这句,bug如期而至。

  1. //mQueue.start();

其实,在RequestQueue实例化的时候,就已经有start了。

  1. private RequestQueue mQueue;
  2. private Context mContext;
  3.  
  4. public HttpServiceUtils(HttpResquestListener listener,Context context){
  5. mListener = listener;
  6. mContext = context;
  7. mQueue = Volley.newRequestQueue(context);
  8. }
  1. public class Volley {
  2. private static final String DEFAULT_CACHE_DIR = "volley";
  3.  
  4. public Volley() {
  5. }
  6.  
  7. public static RequestQueue newRequestQueue(Context context, HttpStack stack) {
  8. File cacheDir = new File(context.getCacheDir(), "volley");
  9. String userAgent = "volley/0";
  10.  
  11. try {
  12. String network = context.getPackageName();
  13. PackageInfo queue = context.getPackageManager().getPackageInfo(network, );
  14. userAgent = network + "/" + queue.versionCode;
  15. } catch (NameNotFoundException var6) {
  16. ;
  17. }
  18.  
  19. if(stack == null) {
  20. if(VERSION.SDK_INT >= ) {
  21. stack = new HurlStack();
  22. } else {
  23. stack = new HttpClientStack(AndroidHttpClient.newInstance(userAgent));
  24. }
  25. }
  26.  
  27. BasicNetwork network1 = new BasicNetwork((HttpStack)stack);
  28. RequestQueue queue1 = new RequestQueue(new DiskBasedCache(cacheDir), network1);
  29. queue1.start();
  30. return queue1;
  31. }
  32.  
  33. public static RequestQueue newRequestQueue(Context context) {
  34. return newRequestQueue(context, (HttpStack)null);
  35. }
  36. }

queue1.start(); 已经在实例化RequestQueue的时候,就被调用了。

https://stackoverflow.com/questions/31158858/random-com-android-volley-noconnection-error-java-io-interruptedioexception-st/31181611#31181611

[Android Exception 1A] -com.android.volley.NoConnectionError: java.io.InterruptedIOException的更多相关文章

  1. 严重: Exception loading sessions from persistent storage Java.io.EOFException

    tomcat启动时报此异常,但web页均能正常运行:对程序影响不大. /*具体原因时tomcat--work--(你当前运行的工程名)--session.ser*/删除即可解决 分析: EOFExce ...

  2. java.io.EOFException

    错误代码如下: 严重: IOException while loading persisted sessions: java.io.EOFException java.io.EOFException ...

  3. org.apache.hadoop.ipc.RemoteException(java.io.IOException)

    昨晚突然之间mr跑步起来了 jps查看 进程都在的,但是在reduce任务跑了85%的时候会抛异常 异常情况如下: 2016-09-21 21:32:28,538 INFO [org.apache.h ...

  4. tomcat启动报错:IOException while loading persisted sessions: java.io.EOFException.

    tomcat启动错误代码: 严重: IOException while loading persisted sessions: java.io.EOFException java.io.EOFExce ...

  5. tomcat启动时报:IOException while loading persisted sessions: java.io.EOFException的解决方案

    错误代码如下: 严重: IOException while loading persisted sessions: java.io.EOFException java.io.EOFException ...

  6. hive运行query语句时提示错误:org.apache.hadoop.ipc.RemoteException: java.io.IOException: java.io.IOException:

    hive> select product_id, track_time from trackinfo limit 5; Total MapReduce jobs = 1 Launching Jo ...

  7. java IO流全面总结

    流的概念和作用 流是一组有顺序的,有起点和终点的字节集合,是对数据传输的总称或抽象.即数据在两设备间的传输称为流,流的本质是数据传输,根据数据传输特性将流抽象为各种类,方便更直观的进行数据操作. Ja ...

  8. tomcat启动时报:IOException while loading persisted sessions: java.io.EOFException的解决方案 ZT

    错误代码如下: 严重: IOException while loading persisted sessions: java.io.EOFException java.io.EOFException ...

  9. 启动项目时出现java.io.EOFException异常。

    错误: 2018-4-18 10:55:54 org.apache.catalina.session.StandardManager doLoad 严重: IOException while load ...

随机推荐

  1. activiti 任务节点 处理人设置【转】

    转自http://blog.csdn.net/qq_30739519/article/details/51225067 1.1.1. 前言 分享牛原创(尊重原创 转载对的时候第一行请注明,转载出处来自 ...

  2. Android—菜单

    layout文件: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:an ...

  3. ThinkPHP使用SQL函数进行查询

    //SQL函数查询 $products=$pro->where(array("FIND_IN_SET('".$type."',type)",'num'=& ...

  4. IntelliJ IDEA 开发前的设置

    1.IntelliJ IDEA 显示行号方法 设置方法:File->Settings->Editor->General->Appearance->Show line nu ...

  5. 拉动滚动条追加内容,无限延伸document高度 $(window).scroll(function(){if($(window).scrollTop() + $(window).height() == $(document).height()) { $("body").append(html) } })

    $(document).ready(function() { // endless scrolling $(window).scroll(function() { if($(window).scrol ...

  6. JSBinding + SharpKit / 初体验:下载代码及运行Demo

    QQ群:189738580 以下是群主维护的JSB版本: git地址:https://github.com/qcwgithub/qjsbunitynew.git插件源码地址(不包含SpiderMonk ...

  7. C# 数组,ArrayList与List对象的区别

    在C#中,当我们想要存储一组对象的时候,就会想到用数组,ArrayList,List这三个对象了.那么这三者到底有什么样的区别呢? 我们先来了解一下数组,因为数组在C#中是最早出现的. 数组 数组有很 ...

  8. 怎么用ABBYY创建属于自己的PDF

    怎么创建一份属于自己的PDF文档呢?由于PDF格式文件具有跨平台.支持超长文件.安全可靠性高等诸多优势,在日常办公学习中应用越来越广泛.而随着技术的发展,各种办公软件也对PDF提供越来越多的支持,但P ...

  9. unity, monoDevelop ide 代码提示不起作用的解决方法

    monoDevelop ide 代码提示不起作用,可能是因为ide里索引了一些不存在的文件,检查一下solution窗口里是否有文件变红,如下图中springControlEx.cs.将变红的文件re ...

  10. 【转】JS跨域(ajax跨域、iframe跨域)解决方法及原理详解(jsonp)

    这里说的js跨域是指通过js在不同的域之间进行数据传输或通信,比如用ajax向一个不同的域请求数据,或者通过js获取页面中不同域的框架中(iframe)的数据.只要协议.域名.端口有任何一个不同,都被 ...