0

我正在从 android 应用程序对 Web 服务进行 API 调用,问题是它返回大约 22000 条记录,我将每条记录转换为对象后将其加载到数组中,然后将该数组分配给 ListView。从 Web 服务获取此数据的最快/最佳方法是什么?(缓冲) ?以及此类问题的最佳实践是什么。

4

1 回答 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 回答