【发布时间】:2012-09-11 15:37:03
【问题描述】:
我希望在原生 Android 应用程序中根据用户需求从服务器同步或下载多个文件。我还需要更新有关正在进行的同步状态的 UI。所以在这种情况下应该使用下面的哪个android组件。
- 服务
- 意图服务
- 异步任务
【问题讨论】:
标签: android android-asynctask android-service sync
我希望在原生 Android 应用程序中根据用户需求从服务器同步或下载多个文件。我还需要更新有关正在进行的同步状态的 UI。所以在这种情况下应该使用下面的哪个android组件。
【问题讨论】:
标签: android android-asynctask android-service sync
使用AsyncTask 来完成您的后台工作并更新UI 元素在您的任务中实现onProgressUpdate()。详情请见docs。
【讨论】:
AsyncTask 完全独立于活动,因此完成活动对任何任务都没有任何作用,除非您在 onDestroy() 中手动清理任务。但是,如果您的 Activity 正在运行的 UI 进程在您的应用程序处于后台时被 Android 杀死,那么您的 AsyncTask 也会像任何其他进程的相关对象一样被杀死。根据数据的大小,您可能需要打扰或不打扰。您更大的问题是方向更改通常会杀死并重新创建活动。
使用AsyncTask,它是专门为满足您的要求而设计的。那是
所有三个选项都可以,但AsyncTask 将是最简单和最合适的。
【讨论】:
我认为使用帮助服务或 AsyncTask 下载您需要的文件,并使用帮助广播接收器更新 UI。
【讨论】: