【问题标题】:Android Image Upload: Use Activity or Service?Android 图片上传:使用活动还是服务?
【发布时间】:2011-08-13 05:02:53
【问题描述】:

目前我使用 Activity 将图像上传到网络,我正在使用 AsyncTask 并且一切正常。我目前使用一个 Activity 来实现这一点,基本上这个 Activity 允许用户输入一些细节,拍照然后提交,显示一个进度对话框,直到收到响应。当使用 E 或 G 连接时,整个过程可能会很长(超过一分钟)。在收到响应之前,不可能完成活动并返回上一个活动(这是我想要的)。

我有什么选择。目前,如果我按下主页按钮,该过程可以正常工作并继续上传,是否可以最小化应用程序的可编程性? .我看到这种方法有很多问题,例如,如果活动关闭或发生错误。

我能想到的唯一方法是将实际上传代码移动到服务,使用活动收集信息并允许活动为每次上传启动新服务?然后我可以使用 NotificationManager 通知用户成功或失败,并在服务中处理重试。

我注意到,当将图片从图库分享到 Facebook 时,活动会立即关闭,并且用户会通过通知收到反馈。我假设这种方法使用服务将图像上传到 Facebook?

任何帮助/建议将不胜感激。

问候

【问题讨论】:

    标签: android image service upload android-activity


    【解决方案1】:

    我建议您使用以下设置:

    1. 使用您的活动准备(配置/设置)用户想要做的事情(例如,选择他要上传的图片和目标文件夹)
    2. 当用户按下“发送”时,调用将执行上传任务的服务。稍后我会指出这样做的一些优点)
    3. 服务完成后,创建通知以显示结果。您应该使用 OnGoingNotification 以便用户知道文件正在上传(它也可以有进度指示器)

    使用服务而不是 Activity 有一些优势。例如,您不必担心配置更改(例如更改设备的方向),您不必将用户“锁定”在他们无事可做的活动中,等等。

    上传不需要 UI,因此使用 Activity 并不是最好的方式。

    简而言之:使用服务

    【讨论】:

    • 感谢您的详细解答。我觉得这将是实现它的最佳方式,感谢您的确认:-)
    猜你喜欢
    • 1970-01-01
    • 2015-11-04
    • 2012-04-16
    • 1970-01-01
    • 1970-01-01
    • 2014-06-05
    • 1970-01-01
    • 1970-01-01
    • 2014-07-18
    相关资源
    最近更新 更多