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

悬赏问题

  • ¥50 关于#html5#的问题:H5页面用户手机返回的时候跳转到指定页面例如(语言-javascript)
  • ¥15 无法使用此凭据登录,因为你的域不可用,如何解决?(标签-Windows)
  • ¥15 yolov9的训练时间
  • ¥15 二叉树遍历没有报错但无法正常运行
  • ¥15 在linux系统下vscode运行robocup3d上场球员报错
  • ¥15 Python语言实验
  • ¥15 SAP HANA SQL 增加合计行
  • ¥20 用C#语言解决一个英文打字练习器,有偿
  • ¥15 srs-sip外部服务 webrtc支持H265格式
  • ¥15 在使用abaqus软件中,继承到assembly里的surfaces怎么使用python批量调动