对我来说很难理解下载 json 数据并在 ListView 中显示它们的正确工作流程。 目前我正在使用 AsyncTask 下载和解析使用 ArrayAdapter 显示的数据。问题是 AsyncTask 无法在 Activity 重启后继续存在。
所以我想知道服务是否是更好的解决方案,但是如何将数据传递给 ArrayAdapter?我应该始终使用数据库作为中间层来存储和检索数据吗?
那么哪个更好呢? AsyncTask 在使用 db 的保留 fragment 或服务中?
谢谢
最佳答案
我使用一项服务来检索 http 数据并将其存储到 sqlite 数据库中。一旦服务存储了数据(或者如果有问题),我就会触发广播。我的 Fragments/Activity 监听这些定义的广播,然后采取适当的行动。
我发现这是一个非常干净的解决方案,避免了在 Activity 拆卸/旋转等方面泄漏异步任务引用的问题。
关于android - 正确的工作流程以从 Internet 检索数据并显示在 ListView 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10718820/