私はAndroid開発を初めて使いました。私はIOSアプリケーションをAndroidに移植しようとしています。基本的に私のアプリケーションはソケットIOでリアルタイムにサーバーと通信する必要があります。サーバーに接続し、サーバーが要求を処理するまでさまざまなメッセージを処理します。ソケット接続のためのシングルトンまたはサービス
IOSアプリケーションでは、シングルトンパターンを使用してwebsocketサーバーにリクエストを送信し、同じインスタンスを使用してサーバーレスポンスを委任します。 Androidでは、同じパターンを使用し、サーバー応答を取得した後にユーザーをリダイレクトするアクティビティにコールバックオブジェクトを使用しました。
アプリがバックグラウンドになっても、サーバーから適切なステータスが得られるまで、ソケット接続を開いたままにしておく必要があります。
一部の人は、シングルトンの代わりにブロードキャスト受信機でサービスを使用することをお勧めします。それは私の場合にするのが最善のことですか? Service
を使用して
この回答はありがたいですTrevor Page!私は別のスレッドを使ってサービスを実装しています。しかし、私はどのようにして私のサービスと私の活動がさまざまな要求状態の更新を互いに通信できるようにすることができます。アクティビティはソケットIoを介してリクエストを作成することができ、サービスはステータス更新をさまざまなアクティビティに伝える必要があります。私は各コンポーネントのブロードキャストを実装する必要がありますか? –
私は、自分のサービスを自分の活動と結びつけて、それをやりとりする必要があることを知りました。しかし、私はまだ私がサービス(ソケット接続)を取得するために使用できるメソッドを自分の活動に混乱させていますか? –
私のサービスと私の活動とのやりとりの仕方を理解したら、私は自分のアクティビティからサービスを呼び出すためにIBinderを使用する必要があります。私はBroadcastReceiverを使用してサーバの結果を自分のアクティビティに取得する必要があります。 –