Handler.post 监听模式处理UDP数据的疑问 原理是 我创建了一个activity,在里面放了一个类,并放了一个线程去监听,如果有数据,处理完,然后清空数据,等待下一次数据。 现在碰到的问题的,我需要1次执行2个command,不知道如何去解决了。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 我需要1次执行2个command: 这个没明白。 handler.post这个方法也不是线程,是主线程UI执行的,不知道是不是你的代码没贴完。 final UDPHelper uf = new UDPHelper(); final Handler handler2 = new Handler(); Runnable udp = new Runnable() { @Override public void run() { handler.postDelayed(this, 500); if(uf.getDestAddr()!=null&&uf.getCommandbyte()!=null){ try { DatagramSocket sendSocket = uf.getSendSocket() ; sendSocket.send(uf.getSendPacket());//发送 System.out.println("发送完毕---"+uf.getCommandbyte()); sendSocket.receive(uf.getBackPacket());//接收 System.out.println("接收完毕---"+uf.getCommandbyte()); String backcommand = CodeUtil.bytesToHexString(uf.getBackbyte()); System.out.println("methodTag---"+uf.getMethodTag()); /*中间是一些数据处理*/ uf.setCommandbyte(null); } catch (SocketException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } } handler2.post(udp); 有两个问题:(1) handler.postDelayed(this, 500); 为什么不用handler2.postDelayed(udp); (2)handler2.post(udp); 导致整个在主线程UI上,堵塞界面,不ANR才怪呢。楼主修改! spinner adapter问题 【请教】知名手机应用如何与服务端交互等一些问题 Android手机震动 android一个对话框问题请教 图片二进制存储及读取 android 如何实现本地化? 为什么MediaPlayer pause();后会将之前新建的线程重新new一个? 怎么查看自己定义的,并且在运行的闹钟 关于android手机木马的闲时信息回传技术 华为6.0的手机运行软件闪退.求大牛来帮看 Android 环境搭建 Android系统app应用耗电量计算方法?
有两个问题:
(1) handler.postDelayed(this, 500); 为什么不用handler2.postDelayed(udp);
(2)handler2.post(udp); 导致整个在主线程UI上,堵塞界面,不ANR才怪呢。楼主修改!