多肉啊~ 2022-11-24 18:44 采纳率: 57.1%
浏览 9
已结题

Android TCP通信

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

这是建立连接的:

img


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

img

img

img

  • 写回答

3条回答 默认 最新

  • 码上就疯 2022-11-25 08:20
    关注

    这个怎么能在子线程更新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);
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 12月4日
  • 已采纳回答 11月26日
  • 创建了问题 11月24日