国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > Android > 正文

Android 使用volley過程中遇到的問題解決辦法

2019-10-22 18:35:06
字體:
來源:轉載
供稿:網友

Android 使用volley過程中遇到的問題解決辦法

本文主要介紹使用 volley 過程中遇到的問題,錯誤提示:

com.android.volley.NoConnectionError: java.io.InterruptedIOException”,內容加載失敗,問題出在重復調用 queue.start() 方法。

錯誤提示:com.android.volley.NoConnectionError: java.io.InterruptedIOException”,然后就內容加載失敗。。。、

代碼如下:

private void getWxpayOrderInfo() { StringRequest stringRequest = new StringRequest(Request.Method.POST, Url, new Response.Listener<String>() {  @Override  public void onResponse(String response) {  } }, new Response.ErrorListener() {  @Override  public void onErrorResponse(VolleyError error) {  } }) {  @Override  protected Map<String, String> getParams()  throws AuthFailureError {   // 發送請求用到的一些參數   Map<String, String> params = new HashMap<String, String>();   params.put("id", "nameid");   return params;  } }; stringRequest.setRetryPolicy(new DefaultRetryPolicy(10000,                DefaultRetryPolicy.DEFAULT_MAX_RETRIES,                DefaultRetryPolicy.DEFAULT_BACKOFF_MULT)); queue.add(stringRequest); //queue.start(); //經過反復調試錯誤就出在這里,注釋掉這里就可以了}

問題出在調用 queue.start() 方法之后,錯誤原因可以通過 volley 源文件看到,以下是 volley 官方文檔中初始化 RequestQueue 的一段代碼。

/** * Creates a default instance of the worker pool and calls {@link RequestQueue#start()} on it. * * @param context A {@link Context} to use for creating the cache dir. * @param stack  An {@link HttpStack} to use for the network, or null for default. * @return A started {@link RequestQueue} instance. */public static RequestQueue newRequestQueue(Context context, HttpStack stack) { File cacheDir = new File(context.getCacheDir(), DEFAULT_CACHE_DIR); String userAgent = "volley/0"; try {  String packageName = context.getPackageName();  PackageInfo info = context.getPackageManager().getPackageInfo(packageName, 0);  userAgent = packageName + "/" + info.versionCode; } catch (NameNotFoundException e) { } if (stack == null) {  if (Build.VERSION.SDK_INT >= 9) {   stack = new HurlStack();  } else {   // Prior to Gingerbread, HttpUrlConnection was unreliable.   // See: http://android-developers.blogspot.com/2011/09/androids-http-clients.html   stack = new HttpClientStack(AndroidHttpClient.newInstance(userAgent));  } } Network network = new BasicNetwork(stack); RequestQueue queue = new RequestQueue(new DiskBasedCache(cacheDir), network); queue.start();//這里需要注意,原來在請求初始化的時候就已經調用了start方法 return queue;} /** * Starts the dispatchers in this queue. */public void start() { stop(); // Make sure any currently running dispatchers are stopped. // Create the cache dispatcher and start it. mCacheDispatcher = new CacheDispatcher(mCacheQueue, mNetworkQueue, mCache, mDelivery); mCacheDispatcher.start(); // Create network dispatchers (and corresponding threads) up to the pool size. for (int i = 0; i < mDispatchers.length; i++) {  NetworkDispatcher networkDispatcher = new NetworkDispatcher(mNetworkQueue, mNetwork,    mCache, mDelivery);  mDispatchers[i] = networkDispatcher;  networkDispatcher.start(); }} /** * Stops the cache and network dispatchers. */public void stop() { if (mCacheDispatcher != null) {  mCacheDispatcher.quit(); } for (int i = 0; i < mDispatchers.length; i++) {  if (mDispatchers[i] != null) {   mDispatchers[i].quit();  } }} /*** Forces this dispatcher to quit immediately. If any requests are still in* the queue, they are not guaranteed to be processed.*/public void quit() { mQuit = true; interrupt();} public void interrupt() { // Interrupt this thread before running actions so that other // threads that observe the interrupt as a result of an action // will see that this thread is in the interrupted state. nativeInterrupt(); synchronized (interruptActions) {  for (int i = interruptActions.size() - 1; i >= 0; i--) {   interruptActions.get(i).run();  } }}

 感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!


注:相關教程知識閱讀請移步到Android開發頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 苏尼特左旗| 获嘉县| 博客| 额敏县| 白银市| 阿克陶县| 抚松县| 繁峙县| 吉隆县| 当涂县| 漾濞| 洮南市| 新民市| 岗巴县| 仁布县| 巫溪县| 怀柔区| 广德县| 临沂市| 丹寨县| 资兴市| 崇仁县| 余江县| 铜山县| 天祝| 崇仁县| 贵州省| 潢川县| 丰台区| 绥宁县| 额尔古纳市| 木兰县| 三门峡市| 特克斯县| 抚松县| 特克斯县| 凌云县| 修水县| 白银市| 瓦房店市| 曲松县|