直接从json页面获取前10个更新,而不是先下载整个页面然后从中进行选择

时间:2012-02-16 10:20:24

标签: android json

我想从json page ,,,

下载前10个新更新

这下面的代码首先在页面中下载alldata然后我选择我想要的,,,但我需要它只从服务器下载最新的10个更新而不先下载整个页面

所以要尽可能快地获取代码,因为这个页面很大, 提前谢谢,

public String readFeed() {
        StringBuilder builder = new StringBuilder();
        HttpClient client = new DefaultHttpClient();
        HttpGet httpGet = new HttpGet(
                "http://www.zigwheels.com/api/zigtvApi.php?method=data&module=News&section=News");
        try {
            HttpResponse response = client.execute(httpGet);
            StatusLine statusLine = response.getStatusLine();
            int statusCode = statusLine.getStatusCode();
            if (statusCode == 200) {
                HttpEntity entity = response.getEntity();
                InputStream content = entity.getContent();
                BufferedReader reader = new BufferedReader(
                        new InputStreamReader(content));

                String line;
                while ((line = reader.readLine()) != null  ) {

                    builder.append(line);


                }
            } else {
                Log.e(GridViewExampleActivity.class.toString(), "Failed to download file");
            }
        } catch (ClientProtocolException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
        return builder.toString();
    }   

3 个答案:

答案 0 :(得分:0)

AFAIK,您需要在Web服务中进行更改,让您的网站开发人员为您提供另一个网址,该网址仅包含前10个新更新的数据,然后是Android端的上述代码。

答案 1 :(得分:0)

您需要google-gson-stream。把它想象成一个SAX XML解析器

答案 2 :(得分:0)

Soni是对的 - 应该有一种方法让Web服务只提供前10个更新。这条线

HttpResponse response = client.execute(httpGet);
除非数据是完整的,否则

将不会返回,因此任何加速加载过程的机会都应该在服务器端完成。可能是额外的

&count=10

根据您的请求,服务器可以解释。