我正在尝试实现一个 RESTful API,我必须在其中上传对于移动平台而言相对较大的文件。上传可能需要 30 秒到 5 分钟不等。
我希望我的应用程序在上传时完全可用。我一直在做一些研究,发现了一些方法,但我无法确定哪种方法是解决我的问题的正确方法。
这是我遇到的两件事。
- 使用
IntentService
- 处理工作线程,所以我不必这样做。 - 使用我自己的
Service
类型——仍然需要实现一个AsyncTask
来处理大进程。 - 在单例文件中实现一个
AsyncTask
,这样我就可以在单例文件中完成所有工作,但无需使用服务类。
我的问题是哪种方法最好——如果没有列出但对我的问题更合适的解决方案,那么我将不胜感激。
在研究了所有这些方法之后,我仍然对一件事感到困惑。假设我上传了一个 2MB 的文件,但我想知道它何时完成。例如,假设我有一个上传图像并返回 imageID 的服务——我需要能够知道该服务何时返回 imageID——处理该服务,然后继续进行下一次上传,直到其余部分完成。
一如既往,提前致谢。
编辑:我忘记在上传时指定我希望该应用可用——这意味着我可以切换 Activity 并仍然运行相同的服务。
最佳答案
我使用了 IntentService。它扩展了服务,所以它基本上具有普通服务的所有功能,期望它为我处理线程,所以我不必担心。它目前工作得很好。
关于android - 大上传选择哪个Android服务路径?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3271290/