在Android中以更好的方式从服务器读取数据

时间:2014-06-13 10:42:01

标签: android http android-listview android-asynctask

我需要在我的应用程序的每一步都进行http调用,以便从服务器获取响应(以JSON格式)并显示在列表,网格视图中。有没有更好的方法来实现这一目标?这真的是最好的方式:http://smartmobsolution.blogspot.in/2014/02/the-best-way-toaccess-data-from-web-in.html?任何第三方库可用于使任务更简单,更快,如连接到Web,与主线程同步,处理配置更改等?

3 个答案:

答案 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的两个最佳参考之下:

1)。 volley By Javageeks

2)。Androidhove.info

答案 2 :(得分:0)

这取决于你想做什么。使用JSON很好。在某些情况下,XML可能更好。

它还取决于您在Web服务器上使用的系统。 OKHttp例如支持spdy,它可以节省一些带宽并提高请求速度。

对于解析,您可能希望将JSON用于简单的东西。您还可以检查使用XML的SOAP。

不推荐使用Volley,因为它很慢并且不能很好地支持多部分。