gpt4 book ai didi

android - AsyncTask 和 listview - 如何避免每次都加载所有数据

转载 作者:行者123 更新时间:2023-11-30 03:13:43 26 4
gpt4 key购买 nike

我从网络服务器加载数据并在 ListView 中显示结果。代码工作正常,但列表是空的,直到从 AsyncTask 加载完数据,并且每次用户离开屏幕并返回时,列表都必须再次加载。我的应用程序中有多个列表,我在这些列表中采用相同的方法,但当我的所有列表每次都必须加载整个数据时,这看起来很笨拙和错误。

所以现在我正在考虑将数据存储在某个地方,这样我就可以显示旧数据,直到我从服务器获得更新的数据,然后用新数据更新列表。

所以我的第一个问题是,我应该在哪里存储这些数据?在文件中?或者我应该创建一个 SQLite 数据库并将列表对象存储在那里吗?

由于我的应用程序中有多个列表,所以我认为数据库方法是最佳解决方案。然后我可以获得给定对象/表的最新插入 ID,并检查服务器是否有新数据要检索。

我还阅读了有关 AsynTaskLoader 类的内容,它似乎可以满足我的需求,但我真的找不到任何好的指南可以遵循。由于我已经让我的 AsyncTask 完全正常工作,因此实现加载程序可能需要做太多不必要的工作。

那么,是的,解决这个问题的推荐方法是什么?

我从服务器返回的数据是一个 JSONArray,我使用 SimpleAdapter 创建我的列表。

如果您需要查看任何代码,请告诉我。

提前致谢!

最佳答案

缓存包含您的 JSON 数据的 http 响应:使用 this作为引用。

此外,放置一个进度对话框(旋转不确定时间的对话框)并在数据准备好显示时关闭它总是一个好主意。

关于android - AsyncTask 和 listview - 如何避免每次都加载所有数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20499292/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com