多肉啊~ 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日

悬赏问题

  • ¥30 STM32 INMP441无法读取数据
  • ¥100 求汇川机器人IRCB300控制器和示教器同版本升级固件文件升级包
  • ¥15 用visualstudio2022创建vue项目后无法启动
  • ¥15 x趋于0时tanx-sinx极限可以拆开算吗
  • ¥500 把面具戴到人脸上,请大家贡献智慧
  • ¥15 任意一个散点图自己下载其js脚本文件并做成独立的案例页面,不要作在线的,要离线状态。
  • ¥15 各位 帮我看看如何写代码,打出来的图形要和如下图呈现的一样,急
  • ¥30 c#打开word开启修订并实时显示批注
  • ¥15 如何解决ldsc的这条报错/index error
  • ¥15 VS2022+WDK驱动开发环境