我想在不同的线程中使用Volley Library进行请求.
这意味着,在Tread和UIThread中的数据过程中有一个连接.
我想这样做,因为我有很多连接,所以很多数据要处理,今天我有用户界面是块..
那么,我如何能够在不同的线程中放置和启动连接,
并在UIThread中执行OnResponse()/ OnErrorResponse()
JsonArrayRequest getReq = new JsonArrayRequest(url,new Response.Listener<JSONArray>() { @Override public void onResponse(JSONArray response) { Log.d("onRESPONSE Synchro -> Produit",response.toString()); PgrBarProducts.setMax(response.length()); percentdisplayProduct.setText("0/"+ PgrBarProducts.getMax()); nbMaxCallNetwork = PgrBarProducts.getMax(); try { for (int i = 0; i < response.length(); i++) { JSONObject explrObject = response.getJSONObject(i); String id = Integer.toString((Integer) explrObject.get("id")); callOneObject(id,PgrBarProducts,percentdisplayProduct,1); // appel du product } } catch (JSONException e) { e.printstacktrace(new PrintWriter(stackTrace)); } } },new Response.ErrorListener() { @Override public void onErrorResponse(VolleyError error) { changeStatutToError(); VolleyLog.d("","Error: " + error.getMessage()); percentdisplayProduct.setTextColor(Color.RED); percentdisplayProduct.setTypeface(null,Typeface.BOLD); percentdisplayProduct.setText("erreur"); waitBarProgressproduct.setVisibility(View.INVISIBLE); synchroProducts.setVisibility(View.VISIBLE); } }); getReq.setRetryPolicy(new DefaultRetryPolicy(60 * 1000,1,DefaultRetryPolicy.DEFAULT_BACKOFF_MULT)); // Adding request to request queue and start the request AppController.getInstance().addToAndStartRequestQueue(getReq); } });
解决方法
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。