2012-04-14 11 views
-1

双方向サーバー通信を非同期的に行うための最良の方法を見つけようとすると問題が発生します。私は、サーバ通信(カプセル化、非同期呼び出しなし)でサーバ通信をハードに行うことができますが、それを実行する最良の方法が何であるかを知りたいと思います。ログイン、登録、場所の変更などのプロトコルがあります。 サーバー通信はJSONとHTTPPostを使用しています。このアプリケーションはJSONデータを送信し、受信してデータベースに格納します。複数のアクティビティから非同期サーバー通信を行う最善の方法

私はusernameやpasswordなどのデータを保持し、HTTPRequestオブジェクトやその他の共通オブジェクトをインスタンス化するServerCommuncationsクラスを作成することを考えました。これはBoundサービス内にある可能性があります。

私はバインドされたサービスをAsyncTaskと併用することができましたが、アプリ内の複数のアクティビティでサーバ通信を行う必要があるため、サービスを複数のアクティビティにバインドする必要があります。

  1. これは可能ですか?
  2. 良い方法がありますか?
  3. バインドされたサービスを使用する場合、Messengerを使用するか、バインダークラスを拡張するのが最善でしょうか?

あなたの考えは?

答えて

1

IntentServiceは、非同期コードの処理に使用できます。

+0

ありがとう!これが選択された方法でした。それは夢のように働く。 –

0

多分あなたは本当のスレッドを使用してシングルトンであるハンドラを渡すことができます。すべてのアクティビティでハンドラを使用できます。

+0

迅速な対応に感謝します。することができますが、私はログインや更新ロケーションコールをしたいと思っています。これはするのが面倒です。達成したいタスクをどのように区別しますか? –

+0

eighterは、タスクごとに別々のスレッドを作成するか、スレッドに渡す各タスクの派生物を持つ抽象クラスを作成します。 –

関連する問題