我正在从 android 应用程序对 Web 服务进行 API 调用,问题是它返回大约 22000 条记录,我将每条记录转换为对象后将其加载到数组中,然后将该数组分配给 ListView。从 Web 服务获取此数据的最快/最佳方法是什么?(缓冲) ?以及此类问题的最佳实践是什么。
问问题
748 次
1 回答
2
我建议使用库来处理您的数据调用...
请尝试使用Android 查询;具体来说,请参阅标题为异步网络的部分。
这个AQuery库 ( AndroidQuery ) 是轻量级的,只需要 1 个 jar 小 jar 文件。它也可以与 Maven 或 Gradle Android 项目一起使用。它允许您以异步或同步方式轻松地从远程服务器获取 XML 或 JSON 数据。我已经多次将它与 JSON 后端一起使用,它确实节省了时间。
这个库还允许你指定一个在网络下载过程中会自动出现和消失的ProgressBar 。
下面是一个异步调用 JSON 后端的 HTTP 示例:
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() 调用)。
于 2013-08-12T19:15:14.797 回答