问题标签 [android-volley]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
android - 如何在 Android Volley 中执行 PUT 请求?
我目前正在使用 GsonRequest 发出休息 GET 请求。不清楚在我需要发送整个 JSon 对象以进行更新的地方使用什么 PUT 请求。Request 对象将接受 PUT 但我不确定如何放置预期的 JSon 对象。
这是我要放置的json:
以下是它在 apiary.io 中的提交方式,例如:
我不知道把 JSON 放在哪里。
谢谢
这是请求中的基本 getBody 方法。它似乎处理 Method.PUT 上的参数,但如果它是一个 JSON 字符串需要在正文中发送呢?
建议的解决方案:
android - 带有光标加载器的 Volley 或 Service
当我从 Web 服务下载数据时,我几乎总是使用服务。我将结果存储在数据库中,并使用游标加载器在我的视图中显示结果。但是在 Google 发布了网络库 Volley 之后,我变得有点迷茫了。volley 库使用异步任务而不是服务,并且不使用游标。我认为我应该避免异步任务并将我的数据存储在数据库中,以便我可以正确处理方向更改 - 而不会丢失数据并且需要再次下载数据。
所以我的问题是,我什么时候应该使用 Volley 而不是我自己的下载策略?
java - Volley - 使用 JSONArrayRequest 发送 POST 请求
我正在使用 Volley 与 API 进行交互。我需要向返回 JSON 数组的服务发送一个发布请求(带参数)。
JsonObjectRequest 有一个构造函数,它接受一个方法和一组参数
然而 JSONArrayRequest (我需要的那个)只有一个形式的构造函数
我怎样才能让它发送一个带有数据的 POST 请求?
android - 如何更改 volley 中的默认磁盘缓存行为?
我用来获取图像的服务,就像许多这样的网站一样,没有缓存控制标头,指示图像应该被缓存多长时间。Volley 默认使用 http 缓存控制标头来决定在磁盘上缓存图像多长时间。如何覆盖此默认行为并将此类图像保留一段时间?
谢谢
android - Volley(Google IO 2013) 可以有 level1 LruBitmapImageCache 和 level2 DiskCache 吗?
Android Volley (Google IO 2013) 可以有一个用于一级缓存的位图缓存和一个用于二级缓存的磁盘缓存。我不清楚这是一个或选择还是一个/或选择。还想知道磁盘缓存与图像位图缓存的性能。我注意到 ImageLoader 似乎采用了磁盘缓存或位图缓存,但我也在某处读到它具有 1 级和 2 级缓存...
android - 错误回调逻辑应该如何与使用 android Volley 的重试交互?
当 Volley 重试策略设置为 3 次时,不清楚应该采用哪种类型的错误处理逻辑。假设网络已关闭,Volley 设置为重试 3 次。什么时候会调用错误回调?错误处理程序如何检测到这是第一次尝试?还是会重试三次,并且仅在第三次尝试结束时才提供 Volley 错误?
android - 如何优化 android Volley 中的 network-queue-take?(凌空谷歌 IO 2013)
下面是图像请求的 Volley 日志的快照。几乎一半的渲染时间是由于网络队列占用。另一个甚至更高,大部分时间都在网络队列中。如何对此进行优化以使网络队列获取更快?什么决定了网络队列的速度(除了线程优先级,图像请求默认为低优先级请求)?
注意:我是在三星 Galaxy S4 上运行的。
这是另一个需要更长的时间:
android - Volley API 是否适合获取应用程序的初始配置数据?
我已经成功实现了网络请求处理的 Volley。但是,当我的应用程序启动时,它会熄灭并获取它需要的配置文件。我想知道 Volley 是否是获取这个非常早期的初始配置数据的正确选择?为队列、缓存等实例化 volley 线程是否需要一些时间,所以对于这个初始请求,它可能是错误的选择?我想就此获得一些反馈。一方面,它是一个不错的选择,因为它的 RetryPolicy 设置会尝试多次填充请求,另一方面,设置 volley 请求队列和运行 volley 线程可能需要一些时间?我最好只使用 AsyncTask 发出这个初始请求吗?
android - Volley:如何设置 Cache.Entry
我正在使用 Google 的 Volley Library 作为获取网络数据的设计;
我已经设置了一个 RequestQueue
我还对请求进行了子类化,并且从网络返回的数据就好了。我的问题是缓存:在 parseNetworkResponse() 中,当我调用时,它在我的 Request 子类中被覆盖
HttpHeaderParser.parseCacheHeaders(response) 返回 null 因为服务器在其响应标头中设置为“无缓存”......无论如何我仍然想将此数据缓存可变的小时数(可能是 24 小时),怎么能我通过创建一个凌空 Cache.Entry... 我的理解是 URL 被用作缓存键值(我希望它是 URL)。
综上所述,由于 HttpHeaderParser.parseCacheHeaders(response) 返回 null,我想创建一个新的 Cache.Entry 设置为 24 小时后过期,并且缓存键是请求的 URL。
有什么想法吗?
谢谢!
android - Android Volley API (Google IO 2013) 日志没有显示任何套接字超时情况?
这可能是 Volley 本身的错误。我将详细日志记录设置为 true。我运行了一个成功通过 http 的 Volley 请求,它记录了一切正常。然后我将另一个请求添加到队列中,该请求超时并且 volley 没有记录任何内容。我确实捕获了一个凌空超时错误,但没有任何内容写入日志。根本没有关于 http 请求的内容。凌空如何可能跳过日志记录并返回凌空超时异常?
编辑:这可能是我没有为有问题的设备登录凌空登录。我将再次测试并稍后更新。