我对网络服务很陌生,所以请提供一个完整的初学者的答案。
我正在编写一个使用json webservice数据的应用程序。但该服务可能会返回15,20,200,500,1000 ......记录。
我需要把它们全部搞定。
baseURI可能是这样的:
http://api.service.com/json/cars/search?&c=suv&l=49.263569,-122.9847682&within=20&units=km
我知道服务会返回这样的内容:
{
"total_items": "205",
"page_number": "1",
"page_size": "10",
"page_count": "20",
"cars": {
"car": [
{ ... },
{ ... },
...
{ ... }
]
}
}
所以,我可以看到每页有10条记录,总共有20页。但是只有在我发出第一个获取数据的请求后才知道这一点。
这是我的问题: 从桌面应用程序获取所有20个页面的方法是什么,这些页面以具有可滚动控件的形式显示这些记录。
我想的是:
getResponse(url, 1); //get first page, this also gives me page_count from response
for (i := 2; i < page_count; i++){
getResponse(url, i); // loop through number of pages to get each page till the end
}
所以,上面,我传递了我想要的url和page_number。我第一次想要第一页,然后通过在每个请求中传递下一个page_number来遍历所有页面以获取其余页面。
这是常用方法吗? 如果不是这样的话,我该怎么办呢?
请注意,我在表单上没有某种分页系统,它只是一个包含所有结果的可滚动视图。