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

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日

悬赏问题

  • ¥170 如图所示配置eNSP
  • ¥20 docker里部署springboot项目,访问不到扬声器
  • ¥15 netty整合springboot之后自动重连失效
  • ¥15 悬赏!微信开发者工具报错,求帮改
  • ¥20 wireshark抓不到vlan
  • ¥20 关于#stm32#的问题:需要指导自动酸碱滴定仪的原理图程序代码及仿真
  • ¥20 设计一款异域新娘的视频相亲软件需要哪些技术支持
  • ¥15 stata安慰剂检验作图但是真实值不出现在图上
  • ¥15 c程序不知道为什么得不到结果
  • ¥15 键盘指令混乱情况下的启动盘系统重装