我需要在我的应用程序的每一步都进行http调用,以便从服务器获取响应(以JSON格式)并显示在列表,网格视图中。有没有更好的方法来实现这一目标?这真的是最好的方式:http://smartmobsolution.blogspot.in/2014/02/the-best-way-toaccess-data-from-web-in.html?任何第三方库可用于使任务更简单,更快,如连接到Web,与主线程同步,处理配置更改等?
答案 0 :(得分:1)
判断该链接上的示例,它从网址获取JSON数组或其他内容,因此您可以使用Volley库从网址获取JSON,并使用JsonObjectRequest
您将直接获得JSONObject
而无需进一步解析。
示例请求(您仍然需要将其添加到队列并运行队列),将是这样的:
JsonObjectRequest jsonObjReq = new JsonObjectRequest(Method.GET,
url, null,
new Response.Listener < JSONObject > () {
@Override
public void onResponse(JSONObject response) {
Log.d(TAG, response.toString());
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
VolleyLog.d(TAG, "Error: " + error.getMessage());
}
});
答案 1 :(得分:1)
通常我们使用HTTP从服务器获取数据。请求所花费的时间取决于数据量。但是有许多库也可以从服务器获取快速响应数据。目前我只是遇到了 VOLLEY 。这个库的速度比HTTP快4-5倍。所以我建议你继续使用它。好吧,在使用这个lib的两个最佳参考之下:
答案 2 :(得分:0)
这取决于你想做什么。使用JSON很好。在某些情况下,XML可能更好。
它还取决于您在Web服务器上使用的系统。 OKHttp例如支持spdy,它可以节省一些带宽并提高请求速度。
对于解析,您可能希望将JSON用于简单的东西。您还可以检查使用XML的SOAP。
不推荐使用Volley,因为它很慢并且不能很好地支持多部分。