android - 正确的工作流程以从 Internet 检索数据并显示在 ListView 中

标签 android service android-asynctask

对我来说很难理解下载 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/

相关文章:

java - Android 运行 doInBackground 后 AsyncTask 未完成

android - 如何检查edittext是否为空?

android - 德尔福XE8 : No refresh for TRectangle on Android during OnCreate event

wcf - 在 Windows 服务中托管 WCF 服务

javascript - 返回对象的比较 - 服务与工厂的简单示例

java - 使用 RecyclerView 的 asynctask 在 android 中下载图像

iphone - 托管应用程序可以利用 PhoneGap API 吗?

android - onClick 已触发,但未获得正确的 ListView 项

android - 调用 stopService 后服务正在运行

android - 带有错误处理和进度对话框的通用 AsyncTask