Androidでスレッドを開始することについての質問があります。 私はClientThreadという名前のクラスを持っていますが、作成すると起動できますが、ボタンをクリックして試してみると、アプリケーションはcloesedになります。私の目標は、クライアントとサーバをクリックして接続し、ソケットがCloesenのときはクライアントスレッドを再起動することです。私は誰かが私を助けることを願っていますクラスクライアントのコードイストここButtonclickのスレッドをoncreateで起動できません
:
class ClientThread implements Runnable {
@Override
public void run() {
TextView socket_stat = (TextView) findViewById(R.id.socket_status);
socket_stat.setBackgroundColor(Color.YELLOW);
try {
EditText ip = (EditText)findViewById(R.id.tcpip);
SERVER_IP = ip.getText().toString();
InetAddress serverAddr = InetAddress.getByName(SERVER_IP);
socket = new Socket(serverAddr, SERVERPORT);
if(socket!= null) {
socket_stat.setBackgroundColor(Color.GREEN);
}
} catch (UnknownHostException e1) {
e1.printStackTrace();
} catch (IOException e1) {
e1.printStackTrace();
}
}
}
がどのように開始し、Clickメソッドで実行可能スレッドを/終了することができます。
public void connect(View view) {
1.Thread thread = new Thread(new ClientThread());
thread .start();
2.new Thread(new ClientThread()).start();
}
私が誰かが私を助けることを願って:
これは私がテストした2つの方法があります。
ボタンをクリックしてスレッドを開始するとエラーが発生します – sumit
これをどのように追跡できますか?私はデバイス上でアプリケーションを実行する必要があるので、私はNFC-Adapterを使用します。 –
エラーを表示するには、アプリケーションを終了してログを見る直後に電話をPCに接続します(コマンドラインからlogcatを使用できますログをファイルにダンプする) – yakobom