0

我正在编写一个 Android 客户端/服务器应用程序。想知道是否有某种模式被推荐用于在应用程序范围内处理网络问题。

该应用程序有几个活动/片段,并且可以针对服务器端执行相当多的操作(用户触发和自动化)。我希望能够让用户知道服务器何时无法访问或何时出现某种网络问题,以允许他重试/取消遇到错误的请求的方式。

将屏幕上的错误消息作为弹出窗口或从底部/顶部显示的面板提升将不是问题。但是如何实现“重试”按钮或选择在发生错误时回退的位置?因为它是应用程序范围的,我想在网络层级别处理它,所以我现在可以知道用户在哪个屏幕中以及 UI 状态是什么。

UI 使用 AsyncTask 实例来启动所有网络操作。

任何想法/模式/示例都会有所帮助。

4

1 回答 1

0

这是一个指导方针。

假设您有以下课程:

  • 运行网络请求的类
  • NetworkCommand(这包含请求所需的所有信息(GET、POST、PUT ... url、参数等)

  • NetworkCommandManager(根据 NetworkCommand 对象数据执行 HTTP 请求)

因此,当管理器运行任何网络命令时,AsyncTask/Thread它会收到结果通知以及它是哪个网络命令。因此,您可以在那里处理错误并显示一个失败的对话框,允许用户重试,然后您再次使用管理器运行相同的网络命令。

于 2013-10-28T07:46:23.040 回答