エミュレートされた Android アクティビティを、コンピューターで実行されている通常の Java プログラムに接続するのに問題があります。それらを修正する必要があった私が取った予防措置のいくつかを以下に示します...
- エミュレーターが存在するローカルホストの IP アドレスである 10.0.2.2 に接続しようとしています。
- 接続を確立するために、UI スレッドとは別の新しいスレッドを生成します。(派手なワーカー スレッドは実行しませんでした。単に新しいスレッドを作成し、.start() と言っただけです)
したがって、基本的にあなたのシステムは、ServerSocket を宣言し、.accept() メソッドで待機する通常の Java プログラムで構成されています。私はそのプログラムを開始し、願わくばそこに座って待っています。次に、ボタンの onClick メソッドを持つ Activity クラスに切り替えます。そのメソッドは、新しいスレッドの .start() メソッドを呼び出します。アクティビティの .run メソッド内で、新しい Socket を宣言し、ローカル ホストへの接続を試みます。
私が知っておくべきことを他に知っていますか?主な問題は、何も起こらないことです。ローカル ホストの Java プログラムで .accept メソッド呼び出しの直後にブレーク ポイントを設定しましたが、到達できません。