【发布时间】:2012-10-02 21:47:53
【问题描述】:
我是 android 应用程序开发的新手。我试图开发一个android服务器客户端聊天
我的第一个项目。这是客户端的代码。当客户端按下btnJoin时,
它将连接到服务器并发送一个字符串。我读过很多例子,其中很多
看起来像这样。我有一个networkOnMainThreadException。我如何制作asyncTask 来防止
这个问题?任何帮助将不胜感激。
btnJoin = (Button) findViewById(R.id.buttonJoin);
btnJoin.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Socket socket = null;
DataOutputStream dataOutputStream = null;
DataInputStream dataInputStream = null;
try {
socket = new Socket("192.168.1.4", 9092);
dataOutputStream = new DataOutputStream(socket.getOutputStream());
dataInputStream = new DataInputStream(socket.getInputStream());
dataOutputStream.writeUTF("Hello server!");
txtIP.append(dataInputStream.readUTF() + "\n");
} catch (UnknownHostException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
if (socket != null) {
try {
socket.close();
} catch (IOException e) {
e.printStackTrace();
}
}
if (dataOutputStream != null) {
try {
dataOutputStream.close();
} catch (IOException e) {
e.printStackTrace();
}
}
if (dataInputStream != null) {
try {
dataInputStream.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
});
【问题讨论】:
-
@avd 感谢您编辑我的问题。我会正确地格式化我的下一个问题。 :D
标签: android tcp android-asynctask