0

Java Sockets を使用して Game Servers と通信するシンプルなマルチプレイヤー Android ゲームを開発しています。フリーズしない UI を作成するためにService、接続を介してサーバーと通信するためのクラスを Android アプリで作成することにしましたSocket。データ交換は JSON 形式で行われます。

これで、ゲームのプレイ全体で単一のソケット接続が維持され、サーバーとの間でデータ交換が行われますが、Android で実行されているゲーム クライアントで発生するイベントに基づいています。

例えば; ユーザーがボタンをタップすると、一部のデータがサーバーに送信され、サーバーは一部のデータで応答します。それまで、クライアントは待機し、データが到着するとアクティビティの UI が更新され、クライアントは再び何らかのアクションを実行します。データはサーバーに送信されます。

クライアントがサーバーからのデータを待っている間、Activity のコントロールを無効にして、サーバーからデータが到着するまでユーザーがアクションを実行しないようにします。また、Activity で待機中のダイアログを表示して、ユーザーにそのアプリであることを知らせます。は凍結されておらず、待機中です。

さて、Android サービスは主に 、 メソッドで動作するonCreate()ためonStart()onDestroy()ユーザーの介入なしにバックグラウンドで何かを実行すると思います。したがって、サーバーに送信するためにユーザーからの入力が必要な (またはユーザーが入力するまで待機する) アプリの場合Service、この場合、クラスをどのように使用しますか? また、そのようなシナリオでサービスを使用する以外に、他に選択肢はありますか?

また、単一の Socket connectionを使用してサーバーと通信する 2 つのアクティビティがアプリにあることに注意してください。

4

0 に答える 0