【发布时间】:2018-09-09 09:35:23
【问题描述】:
我在 android 应用程序中有 3 个线程。 1)UI线程 2)服务器线程 3)客户端线程
当用户输入字符串并从 UI 提交数据时,我需要将该数据传递给服务器线程,以便服务器通过蓝牙套接字将其发送给客户端。
要将数据发送到服务器线程,我使用以下代码
Toast.makeText(getApplicationContext(), "send data to server handler", Toast.LENGTH_SHORT).show();
Handler serverHandler=new Handler(Looper.getMainLooper());
Message msg=new Message();
msg.obj=text.getText();
serverHandler.sendMessage(msg);
据我了解,我需要从与服务器线程相关的 looper 创建一个处理程序并发送消息。 有人可以建议这是否是从 looper 创建处理程序对象的正确方法。
这是我拥有的服务器线程
Looper.prepare();
serverHandler = new Handler() {
public void handleMessage(Message msg) {
// Act on the message
String data=(String)msg.obj;
try {
socket.getOutputStream().write(data.getBytes());
}
catch(Exception e){
}
}
};
Looper.loop();
【问题讨论】:
-
谢谢您的回复,还没试过,会更新