Android TCP通信

进入界面建立TCP通信连接,客户端向串口工具(服务端)发送一次数据,串口工具向客户端发送数据后,直接就自动断开了,我的代码中的线程以及关闭流方式肯定有问题,但不知道怎么改,怎么改呀啊!【注】:initData是封装的onCreate方法

这是建立连接的:

img


这是提交按钮,进行接收数据的:

img

img

img

这个怎么能在子线程更新UI呢

img

两种方法

//1、直接projName1.setText()外层,添加runOnUiThread
 runOnUiThread(new Runnable() {
            @Override
            public void run() {
                projName1.setText(info+"\n");
            }
        });

//2,全局创建一个Handler,用来专门处理这个UI更新
//和onCreate()同层级
@SuppressLint("HandlerLeak")
    Handler handler = new Handler(){
        @Override
        public void handleMessage(Message msg) {
            super.handleMessage(msg);
            if (msg.obj!=null){
                projName1.setText(msg.obj.toString()+"\n");
            }
        }
    };
//然后在收到消息的时,通过handler通知projName1进行更新
        Message msg = new Message();
        msg.obj = info;
        handler.sendMessage(msg);

代码逻辑没看出什么问题,看看是不是 try catch 产生了异常进而走了 finally 把入流关闭了吧