我正在从android应用程序对Web服务进行API调用,问题是它返回大约22000条记录,我将每个记录转换为一个对象后将其加载到一个数组中,然后将该数组分配给ListView。从Web服务获取此数据的最快/最佳方法是什么? (缓冲) ?以及针对此类问题的最佳做法是什么。
答案 0 :(得分:2)
我建议使用库来处理数据通话......
请尝试使用Android Query;具体来说,请参阅标题为Asynchronous Network的部分。
这个AQuery库( AndroidQuery )是轻量级的,只需要1个jar的SMALL jar文件。它也可以与Maven或Gradle Android项目一起使用。它允许您以异步或同步方式轻松地从远程服务器获取XML或JSON数据。我已经多次使用它与JSON后端,它是一个真正的节省时间。
此库还允许您指定在网络下载过程中自动显示和消失的 ProgressBar 。
以下是异步HTTP调用JSON后端的示例:
public void asyncJson(){
//perform a Google search in just a few lines of code
String url = "http://www.google.com/uds/GnewsSearch?q=Obama&v=1.0";
aq.ajax(url, JSONObject.class, this, "jsonCallback");
}
public void jsonCallback(String url, JSONObject json, AjaxStatus status) {
if(json != null) {
//successful ajax call
} else {
//ajax error
}
}
AQuery还可以简化Android编程的其他方面(例如在许多场景中消除findViewById()调用)。