Articles of android volley

Android Volley + Loader模式?

我有点喜欢Volley框架,但我仍然对它有些怀疑。 例如,Volley如何与Loader模式对齐? 由于它的请求是以异步方式处理的,因此在后台调用它并没有多大意义。 另一方面,如果我们忽略Loader模式,我们将取消加载并重新加载必要的资源,这有点浪费。 Volley框架如何与Android中的Loaders一起使用?

取消所有排球请求Android

目前我正在片段中的停止方法中使用mRequestQueue.cancelAll(getActivity())但显然当我将手机从横向移动到肖像时,它仍然返回请求中生成的数据但导致崩溃,因为持有者为数据剂量已经存在。 任何正确的代码示例代码?

用凌空上传多个图像?

我已经在SO和其他内容中经历了很多post。但是我无法获得任何最新的官方或其他post,其中不包含使用volley上传多个图像的任何弃用代码。我开始了解Apache HTTP Client删除和相关的新的Android M和首选使用下面的代替。 android { useLibrary ‘org.apache.http.legacy’ } 那么,任何人都可以通过新的更新已弃用的减少排球类来帮助我进行多个图像上传吗?

如何从Volley项目中创建一个.jar?

如何从Volley项目 ( git存储库 )中创建.jar文件? 我试图按照这个答案中的说明,但运行android update project -p . 在克隆的volley文件夹中抛出此错误: Error: . is not a valid project (AndroidManifest.xml not found).

如何禁用Volley请求重试?

我将JsonRequest发布到服务器。 服务器很慢。 Volley倾向于对慢速服务器进行多次调用,因为它没有得到第一个请求的响应(因为我的服务器很慢)。 有没有办法禁止Volley重试请求,以便它可以收到第一个响应? 我努力了: myRequest.setRetryPolicy(new DefaultRetryPolicy( TIMEOUT_MS, RETRIES, BACKOFF_MULT)); 我已经替换了TIMEOUT_MS = 0,RETRIES = 0,甚至BACKOFF_MULT = 0,但它不起作用。 还有其他建议吗?

Volley的NetworkImageView – setImageBitmap方法不起作用

我在我的项目中使用齐射库。 我通常让NetworkImageView使用setImageUrl方法下载图像: networkImageView.setImageUrl(imageUrl, mImageLoader) 这很好,但是..当我尝试使用ImageLoader的get方法“手动”下载位图,然后自己设置位图时,它不起作用: mImageLoader.get(imageUrl,new ImageLoader.ImageListener() { @Override public void onResponse(ImageLoader.ImageContainer imageContainer, boolean b) { if (imageContainer.getBitmap() != null) { networkImageView.setImageBitmap(imageContainer.getBitmap()); } } @Override public void onErrorResponse(VolleyError volleyError) { } }); networkImageView.setImageBitmap(imageContainer.getBitmap())行什么都不做。 怎么会这样? 提前致谢!

从API23移除Apache HTTP Client会对Volley产生影响吗?

我们已经知道在API 23中删除了Apache HTTP Client Apache HTTP客户端删除 但是, Volley库目前仍然使用Apache的库等 import org.apache.http.Header; import org.apache.http.HttpEntity; import org.apache.http.HttpResponse; import org.apache.http.HttpStatus; import org.apache.http.StatusLine; import org.apache.http.conn.ConnectTimeoutException; import org.apache.http.impl.cookie.DateUtils; 我测试了2个项目:一个用compileSdkVersion 22 ,另一个用compileSdkVersion 23 ,得到2个截图: compileSdkVersion 22 compileSdkVersion 23 我有两个问题: 当然,使用Volley的API23项目仍然可以成功运行。 但是,我不明白他们如何在运行时使用Apache的库,他们是在API22或更低版本中find的? 而且,我想知道在不久的将来,Volley会不会升级,以便不再使用Apache的库? 如果没有,当Apache的库完全删除并且不受支持时,我的当前项目是否仍将继续工作? 也许我的英语不太清楚,但希望你能理解我的问题。 任何解释将不胜感激。 更新: 从@ random的评论中,我使用Google的官方Volley库创建了一个新的API23项目(我的意思是git clone https://android.googlesource.com/platform/frameworks/volley是Google建议的),而不是使用compile ‘com.mcxiaoke.volley:library:1.0.17’在build.gradle文件中。 是的,在构建项目时因缺少Apache库而出错。 必须将useLibrary ‘org.apache.http.legacy’添加到build.gradle文件中,如文档所示。 第二次更新: 我刚刚定制了谷歌的排球(作为我项目中的一个模块),删除了Apache库。 请转到我的GitHub示例项目供您参考。 但请注意,它尚未针对所有情况进行全面测试,我仅测试了02个简单案例:使用我的Web服务即ASP.NET Web API GET和POST请求。

Android Studio:错误:非法字符:’\ u2028′

我正在尝试执行JSONObject请求: final String URL = “https://some/url”; // Post params to be sent to the server HashMap params = new HashMap(); params.put(“param1”, param1); params.put(“param2”, param2); params.put(“param3”, param3); params.put(“param4”, param4); JsonObjectRequest req = new JsonObjectRequest(URL, new JSONObject(params), new Response.Listener() { @Override public void onResponse(JSONObject response) { try { VolleyLog.v(“Response:%n %s”, “läuft”); } catch (JSONException e) { e.printStackTrace(); […]

Android凌空处理重定向

我最近开始使用谷歌的Volley lib来处理我的网络请求。 我的一个请求获得错误301重定向,所以我的问题是,可以自动地以某种方式自动处理重定向,还是我必须在parseNetworkError手动处理它或在这里使用某种RetryPolicy ? 谢谢。

使用Volley发送post请求并以PHP格式接收

我试图在我的项目中使用volley来处理我的所有HTTP请求,因为据我所知它是最有效的。 所以我开始通过AndroidHive教程学习排球。 我的第一个GET请求成功了。 然后我转到POST请求,但我失败了。 我在Stack Overflow上看到很多人在将截击请求与PHP结合起来时遇到了问题。 我相信我们无法使用$_POST[“”]的常规方式访问它,因为齐射将JSON对象发送到我们指定的URL。 我尝试了许多解决方案,但没有成功。 我想应该有一个简单而标准的方法来使用PHP的凌空。 所以我想知道在我的PHP代码中接收volley发送的json对象需要做什么。 还有我如何检查凌空是否真的发送JSON对象? 我的凌空代码发送简单的post请求: JsonObjectRequest jsonObjReq = new JsonObjectRequest(Method.POST, url, null, new Response.Listener() { @Override public void onResponse(JSONObject response) { Log.d(TAG, response.toString()); pDialog.hide(); } }, new Response.ErrorListener() { @Override public void onErrorResponse(VolleyError error) { VolleyLog.d(TAG, “Error: ” + error.getMessage()); pDialog.hide(); } }) { @Override protected Map getParams() […]