android - 大上传选择哪个Android服务路径?

标签 android multithreading service rest

我正在尝试实现一个 RESTful API,我必须在其中上传对于移动平台而言相对较大的文件。上传可能需要 30 秒到 5 分钟不等。

我希望我的应用程序在上传时完全可用。我一直在做一些研究,发现了一些方法,但我无法确定哪种方法是解决我的问题的正确方法。

这是我遇到的两件事。

  1. 使用 IntentService - 处理工作线程,所以我不必这样做。
  2. 使用我自己的Service类型——仍然需要实现一个AsyncTask来处理大进程。
  3. 在单例文件中实现一个 AsyncTask,这样我就可以在单例文件中完成所有工作,但无需使用服务类。

我的问题是哪种方法最好——如果没有列出但对我的问题更合适的解决方案,那么我将不胜感激。

在研究了所有这些方法之后,我仍然对一件事感到困惑。假设我上传了一个 2MB 的文件,但我想知道它何时完成。例如,假设我有一个上传图像并返回 imageID 的服务——我需要能够知道该服务何时返回 imageID——处理该服务,然后继续进行下一次上传,直到其余部分完成。

一如既往,提前致谢。

编辑:我忘记在上传时指定我希望该应用可用——这意味着我可以切换 Activity 并仍然运行相同的服务。

最佳答案

我使用了 IntentService。它扩展了服务,所以它基本上具有普通服务的所有功能,期望它为我处理线程,所以我不必担心。它目前工作得很好。

关于android - 大上传选择哪个Android服务路径?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3271290/

相关文章:

java - 管理数据库中的产品数量

wcf - Reporting Services LocalReport和WIF

web-services - 是否有任何标准的替代 HTTPS 端口?

elasticsearch - 重新安装后Elasticsearch无法启动

java - 在按钮单击时添加一个文本字段到第二个主要 Activity

android - 使用camera2 API createCaptureSession后,Android无法仅播放视频音频

android - 在 Android 设备上获取 WifiManager.MulticastLock - 可靠且一致?

android - 我可以使用不同版本的相同 Java 文件进行调试和发布吗?

c++ - 析构函数和异步任务

android - 带有同步方法的 Anr 消息