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 に答える