2011-11-25 84 views
1

场景:上传文件列表到服务器。在Android中实施服务

  • 有两个服务器,一个文件服务器&一个应用程序的网络服务器。

  • 令牌通过具有应用服务器超时设置:5分钟

  • 当一个文件被上传到文件服务器,另一个请求需要被同时进行,每5分钟到应用程序服务器,所以令牌不会过期。

目前我正在使用AsyncTask实现文件上传。为了创建另一个令牌请求,我应该采取什么方法?

我应该运行一个服务,每隔5分钟向应用程序服务器发送一个请求吗?

我还需要处理呼叫中断情况(暂停状态),当令牌的请求应该继续其操作。

欢迎任何提示/建议。

回答

0

创建第二个AsyncTask以检索每五分钟。服务与否,这是您的选择。

通常情况下,如果您的应用的上传过程花费很长时间才能完成,那么通过服务完成此操作总是一个好主意。

0

最好的方法(IMO)将是:

  1. 它管理上传到文件服务器上的文件的服务。
  2. 检索令牌的广播接收器。

现在,当上传开始并且您需要令牌时,为当前时间安排警报(以便立即执行),并且警报应该启动boardcast接收器。

然后,在广播接收机onReceive方法,你应该检查什么与服务。如果它仍在运行(仍在上传文件),您应该重新计划在5分钟内触发的警报。

当警报被触发时 - 在广播接收器获得另一个令牌之前,您应该确保它仍然是需要的。

AsyncTask不是一个好主意,因为我几乎可以肯定它死亡当你的活动被破坏。而且你不想让用户等待上传文件,直到你上传了这些文件?

0

通过检查令牌的年龄来简单地开始上传。在发送文件之前,在与文件上传相同的线程中检索令牌,以确保令牌有效。