Java Android:设计并发后台作业(服务、IntentService或异步任务?)
我需要帮助设计一个特定于长时间运行的后台任务的问题的解决方案 背景:Java Android:设计并发后台作业(服务、IntentService或异步任务?),java,android,android-asynctask,android-service,android-intentservice,Java,Android,Android Asynctask,Android Service,Android Intentservice,我需要帮助设计一个特定于长时间运行的后台任务的问题的解决方案 背景: 我有一个带有活动的应用程序,可以显示文件列表 每个文件都可以下载。每个下载的文件都可以有一个更新 使用“立即更新”按钮将更新(如果有)作为通知激发。该应用程序有一个活动,显示每个文件的更新 在任一位置单击“立即更新”会触发后台作业下载文件,并在两个位置(取决于用户所在的位置)更新UI中的进度 用户最多可以同时更新/下载4个文件 设计: 我有一个带有WakefulBroadcastReceiver的GCM设置,它启动一个I
- 我有一个带有活动的应用程序,可以显示文件列表李>
- 每个文件都可以下载。每个下载的文件都可以有一个更新
- 使用“立即更新”按钮将更新(如果有)作为通知激发。该应用程序有一个活动,显示每个文件的更新
- 在任一位置单击“立即更新”会触发后台作业下载文件,并在两个位置(取决于用户所在的位置)更新UI中的进度
- 用户最多可以同时更新/下载4个文件
- 我有一个带有WakefulBroadcastReceiver的GCM设置,它启动一个IntentService来通知任何更新
- 更新/下载是一个Runnable-DownloadRunnable.java文件
- MyDownloadManager是一个单例类,它有一个静态方法startDownload(),该方法使用特定的url启动DownloadRunnable李>
- 下载更新时,如何更新通知和活动中的进度
- 如何扩展设计以运行并发下载并更新相应项目的进度
您的下载将更加稳定,而不是使用自己的实现,因为DownloadManager可以处理连接丢失并执行重试。我建议使用Android的
DownloadManager
。这是整个操作系统使用的下载管理器。下载完成后,您将使用操作\U download\U COMPLETE
接收广播
尝试以下教程: