1

すでに市場に出ている無料の Android ゲーム「フォアランナー」に Bluetooth 機能を追加しています。Main アクティビティに埋め込まれたスレッドにソケットが正しく設定されています。電話間でプレーヤーの座標を送信する ConnectThread (extending thread) 用に別の Java ファイルを作成しました。Service、AysncTask、および Handler を調べました。ハンドラー以外に役立つものはないと思います。

次のいずれかにより、これが機能します。

親アクティビティ (埋め込みスレッドで作成) で接続した Bluetooth ソケットを子アクティビティで使用するにはどうすればよいですか?

子アクティビティでデータが初期化されていない場合、ConnectThread から子アクティビティにデータを送信するにはどうすればよいですか? 基本的に、スレッドから子アクティビティのパブリック メソッドを呼び出すにはどうすればよいですか?

親アクティビティで接続したソケットを子アクティビティに渡す方法はありますか?

4

1 に答える 1

0

静的 (クラス) 変数を親アクティビティまたは (より良い) アプリケーション クラスに配置します (これを行うには、Android アプリケーション クラスから派生した独自のアプリケーション クラスを作成し、それを のマニフェストに配置することを忘れないでください<application android:name="...">)。この静的変数にソケットを割り当てます。子アクティビティはそこから取得できます。これは静的であるため、アクティビティが破棄されたときにガベージ コレクターによって削除されることはありません。そのため、作業が終わったら必ず閉じて、変数を null に割り当ててください。

于 2012-05-14T10:13:15.733 に答える