gpt4 book ai didi

java - NetworkOnMainThreadException- 尝试创建一个新线程和 ASynchTask

转载 作者:行者123 更新时间:2023-11-29 21:43:31 27 4
gpt4 key购买 nike

一段时间以来,我一直在努力让它发挥作用。我正在尝试将消息从手机发送到笔记本电脑上的简单服务器。我不断收到 NetworkOnMainThreadException,我尝试制作一个新线程(new Runnable() 等)和一个 ASynchTask 但我仍然收到错误并且应用程序强制关闭。我已经阅读了 3 或 4 个类似的问题这个,但没有一个对我有用。这是我的代码:

final Button post2 = (Button) findViewById(R.id.postbutton2);

post2.setOnClickListener(new OnClickListener(){

@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
new Thread(new Runnable() {
// TODO Auto-generated method stub

@Override
public void run() {
// TODO Auto-generated method stub

message = text.getText().toString(); //Message is a string, text is an EditText.
text.setText("");

try {
clientSocket = new Socket("10.0.0.2", 4445);
printWriter = new PrintWriter(clientSocket
.getOutputStream(), true);
printWriter.write(message);

printWriter.flush();
printWriter.close();
clientSocket.close();

} catch (UnknownHostException e) {
e.printStackTrace();
Toast.makeText(context, e.toString(),
Toast.LENGTH_SHORT).show();
} catch (IOException e) {
e.printStackTrace();
Toast.makeText(context, e.toString(),
Toast.LENGTH_SHORT).show();
}
}

}).start();
}

});

最佳答案

尝试从您的代码中删除以下部分。

message = text.getText().toString(); //Message is a string, text is an EditText.
text.setText("");

在此线程中执行此操作看起来不正确。

关于java - NetworkOnMainThreadException- 尝试创建一个新线程和 ASynchTask,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16470700/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com