如何在Android上从服务器检索数据时滚动更新ListView?

目前,我使用AsyncTask来处理Http连接并以JSON格式检索数据。
加载所有的数据是微不足道的,但它消耗了太多时间,所以我决定切换到使用LIMIT OFFSET (mysql)一次加载10个项目。
接下来,我为列表视图设置事件onScroll ,以便每次用户滚动时创build一个新的AsyncTask 。 不过,从我读的内容来看, AsyncTask存储在一个线程池中,一次只限制5个线程,所以我不确定这是一个正确的方法。 我是新手到客户端/服务器应用程序,所以我可以给我一个关于这个问题的build议吗? 任何相关的文章,文档将不胜感激。

  • 如何在Android中获取http请求
  • Java(Android)WebSocket客户端库
  • Android Volley访问http响应头字段
  • 发布到Android的Ruby on Rails应用程序
  • 有任何Android开发人员成功地从Web服务接收分块传输协议?
  • OkHttp - 启用日志
  • 使用Volley发送post请求并以PHP格式接收
  • 排球 - http请求以阻断的方式
  • 这里有几个有用的链接,

    Android:为Android Market等无尽列表实现进度条和“加载…”

    带有当前asynchronous任务的无尽列表视图

    Android无尽列表

    http://www.androidguys.com/2009/10/21/tutorial-autogrowing-listview/

    http://mylifewithandroid.blogspot.com/2010/03/progressively-loading-listviews.html

    在简单的步骤中,

    用户滚动 – 检测列表的结尾
    1)显示进度通知
    2)要求更新
    3)接收更新(asynchronous)和扩展列表

    一个典型的方法是,例如,首先加载25,然后在列表中有一个页脚,显示例如当前的计数和总计数,并且在按压加载另外25个等等。 这将是一个分页加载。

    当你这样做时,你必须保持当前位置,并通知适配器列表已经改变。

    如果你正在使用ListView ,我相信我可以安全地假设你必须使用某种ListAdapter 。 您不应该在onScroll事件中启动一个新的AsyncTask ,而应该只维护一个AsyncTask以从服务器检索数据,将该数据添加到ListAdapter数据集,然后调用notifyDatasetChanged上的ListAdapter

    ListAdapterListView将负责其余的ListAdapter