Articles of 请求

Android Volley如何处理暂时丢失的networking连接?

如果Android Volley发布请求由于networking丢失而失败,那么Android Volley会在networking连接自动恢复后重试该post。 它会触发所有的请求尝试,等待连接重新build立或只是触发一个错误,并停止? 如果Android Volley在重新build立连接后不重试,似乎我将不得不创build逻辑,以便每当连接丢失时都有一个额外的队列,并且每当连接状态改变时都会重试。

响应代码304和200时排空exception错误

玩Volley库的时候,我注意到在做一个POST JsonObjectRequest ,如果服务器返回一个代码304或者200,而响应中没有数据(response.data) ,那么Volley把它解释为错误响应,而不是成功。 我设法通过在类JsonObjectRequest.java中的Response<JSONObject> parseNetworkResponse(NetworkResponse response)方法中添加几行代码来解决此问题。 @Override protected Response<JSONObject> parseNetworkResponse(NetworkResponse response) { try { if (!response.notModified) {// Added for 304 response String jsonString = new String(response.data, HttpHeaderParser.parseCharset(response.headers)); return Response.success(new JSONObject(jsonString), HttpHeaderParser.parseCacheHeaders(response)); } else // Added for 304 response return Response.success(new JSONObject(),HttpHeaderParser.parseCacheHeaders(response)); } catch (UnsupportedEncodingException e) { Log.v("Volley", "UnsupportedEncodingException " + response.statusCode); if (response.statusCode == […]

Android – 取消排球请求

我在我的项目中使用Android Volley lib执行networking请求,所有工作都很好,但是我有一些这个lib的“取消”function的麻烦。 我解释我的问题.. 我有一个活动,在OnCreate方法执行请求,请求被调用,没有问题。 但要确定cancel方法的工作原理,我想testing并尝试两件事: 我解雇了我的请求,并在取消之后像这样: MySingleton.getMyData("urltocall", getDataListener, requestTag); MySingleton.getRequestQueue().cancelAll(requestTag); 这个工作! 取消被调用(我也可以在Volley的Request类中看到): public void cancel() { mCanceled = true; // my breakpoint is called here } 我激发我的请求,并在我的活动的完成()方法和onDestroy和/或onStop方法的活动之后,我调用相同的代码: MySingleton.getMyData("urltocall", getDataListener, requestTag); MySingleton.getRequestQueue().cancelAll(requestTag); 但是这不行 ! requestTag不为空,并传递给Volley,所以我不明白为什么第一个方法工作,但不是另一个…知道我的目的是取消请求时onDestroy被调用.. 谢谢你的帮助

凌空 – 如何发送DELETE请求参数?

我试图使用Volley向我的服务器发送DELETEtypes的请求,并添加参数到请求。 到目前为止,我还没有做到这一点。 创build一个自定义的请求并重写getParams()方法并没有帮助我,因为这个方法没有调用DELETEtypes的请求。 如何在Volley中将参数添加到DELETE请求中?

滑动 – 向请求添加标题

有没有一种方法来添加自定义标题请求下载图像时? 我可以在Glide中使用volley或okhttp。 我尝试在okhttpclient中添加cookie到cookiemanager,但是没有帮助。 有没有一种方法来debugging在Glide中的请求响应? 最好的问候汤姆

如何在成功回应Volley Android中获得状态代码

我想问一下在使用Volley时如何得到状态码。 我有以下代码: StringRequest stringRequest = new StringRequest(Request.Method.GET, url, new Response.Listener<String>() { @Override public void onResponse(String response) { // Here I want to get status code } }, new Response.ErrorListener() { @Override public void onErrorResponse(VolleyError error) { } } ) 可能吗 ? 如果没有,为什么?

Android发送请求到Django服务器csrf失败

我想我的android应用程序能够发送一些信息到我的django服务器。 所以我让android应用程序向mysite / upload页面发送了一个post请求,而django对这个页面的看法将会根据post数据做工作。 问题是服务器对post请求的回应抱怨csrfvalidation失败。 看着这个问题,似乎我可能必须先从服务器获取一个csrf令牌,然后用该令牌做这个post但是我不确定我是如何做到这一点的。 编辑:我已经发现,我可以使用视图装饰@csrf_exemptclosures此视图的crsfvalidation,但我不知道这是否是最好的解决scheme。 我的android代码: // Create a new HttpClient and Post Header HttpClient httpclient = new DefaultHttpClient(); HttpPost httppost = new HttpPost(URL); // Add your data List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(2); nameValuePairs.add(new BasicNameValuePair("scoreone", scoreone)); nameValuePairs.add(new BasicNameValuePair("scoretwo", scoretwo)); httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs)); System.out.println("huzahhhhhhh"); // Execute HTTP Post Request HttpResponse response = httpclient.execute(httppost); BufferedReader in […]

在不同主题中制作排球请求

我想在不同的线程中使用Volley库进行请求。 这意味着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); // […]

当重试策略设置为0时,Android Volley向服务器发出2个请求

我正在使用Volley进行asynchronous请求和图像caching的Android项目。 不知何故,即使当我的重试策略设置为0,一个请求是击中服务器两次。我尝试覆盖DefaultRetryPolicy对象的值,但没有成功。 以下是一些示例代码: 请求: @Override public void gravarVendaMobile(final Usuario usuarioAutenticado, final AsyncCallback<String> callback) { obterParametrosDeInicializacao().done(new DoneCallback<ParametrosDeInicializacao>() { @Override public void onDone(final ParametrosDeInicializacao param) { requestQueue.add(setDefaultRetryPolicy(new StringRequest( Method.POST, urlPara(GRAVAR_VENDA_MOBILE, usuarioAutenticado.getFilial(), usuarioAutenticado.getCodigo()), listener(callback), //errorListener(R.string.could_not_load_produtos, callback) new ErrorListener() { @Override public void onErrorResponse(VolleyError error) { callback.onError(new MessageCodeException(error.networkResponse.statusCode, error)); } } ) { @Override public Map<String, String> getHeaders() throws […]

Android是否同时支持多个HTTP请求?

在我的应用程序中,我想同时处理几个文件的下载。 要做到这一点,我开始了几个服务,每个请求一个。 正如我不确定,Android是否同时支持并发http请求? 在这种情况下,每个请求有一个HTTPClient是好的还是坏习惯? 非常感谢您的帮助!