テキスト編集ビューとボタンを持つアプリケーションを作成しようとしています。このボタンは、編集テキストの内容を TCP 接続を介してサーバーに送信します。
編集テキストの送信は完了しましたが、ボタンを 1 回クリックすると、アプリケーションがクラッシュします。複数のメッセージを送信できるように、これをループに入れるにはどうすればよいですか? ここに私の情報源があります
public class MainActivity extends Activity {
//Handler h;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
final EditText eText = (EditText) findViewById(R.id.address);
final TextView tView = (TextView) findViewById(R.id.pagetext);
final Button button = (Button) findViewById(R.id.ButtonGo);
button.setOnClickListener(new Button.OnClickListener() {
public void onClick(View v) {
try {
Socket s = new Socket("192.168.0.117", 4447);
BufferedReader in = new BufferedReader(new InputStreamReader(s.getInputStream()));
final BufferedWriter out = new BufferedWriter(new OutputStreamWriter(s.getOutputStream()));
//send output msg
String outMsg = ((EditText)findViewById(R.id.address)).getText().toString().trim();
out.write(outMsg);
out.flush();
Log.i("TcpClient", "sent: " + outMsg);
} catch (UnknownHostException e) {
tView.setText(e.toString());
Log.v("Tcp",e.toString());
} catch (IOException e) {
tView.setText(e.toString());
Log.v("Tcp",e.toString());
}catch (Exception e) {
tView.setText(e.toString());
}
}
});
}
}