【发布时间】:2021-12-27 10:17:22
【问题描述】:
我是线程概念的新手。我正在android中进行套接字编程。我想以各种方法使用从客户那里收到的消息。但是我无法从 Runnable 接口的 run() 方法访问消息。下面是我的代码
'''
class Thread1 implements Runnable {
@Override
public void run() {
Socket socket;
while (true) {
try {
serverSocket = new ServerSocket(SERVER_PORT);
socket = serverSocket.accept();
input = new BufferedReader(new InputStreamReader(socket.getInputStream()));
String message = input.readLine();
if (message != null) {
runOnUiThread(new Runnable() {
@Override
public void run() {
tvMessages.setText("" + message + "\n");
}
});
} else {
return;
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
'''
这里我想在不同的类或方法中使用消息变量。
【问题讨论】:
-
试试Handler
-
消息变量将是全局的
-
我是新手,您可以给我任何关于如何在这里使用处理程序的参考
-
我已经尝试使用消息变量作为全局变量。它没有帮助
-
不要使用全局变量,如果被多个线程访问可能会导致错误。
标签: java android multithreading runnable serversocket