IoConnector connector=new NioSocketConnector();
connector.setConnectTimeoutMillis(30000);
connector.getFilterChain().addLast("codec", new ProtocolCodecFilter(new MathProtocolCodecFactory(false)));
connector.setHandler(new ClientHandler());
ConnectFuture future = connector.connect(new InetSocketAddress("192.168.99.145", 9122));
在android4.0上会报错, 原因是不能在主线程上加载数据, 但是我new handler了啊 难道是 new错了?
handler是在主线程执行的。。。谢谢了,现在好了,把方法写到一个线程里面就好了,一开始线程没有start。嗯,但是不知道怎么再新建一个线程,newThread在哪new呢好了,问题解决了,把这个方法写到一个线程去就行了,一开始还是不成功是因为线程忘了start了,马虎大意要不得啊。
handler在子线程运行要使用Looped。
主线程实例化Handler没问题是因为主线程会自动申请消息循环队列,如果想在子线程运行需要使用Looped。如:
<preclass="linemt-10q-content">Looper.prepare();mHandler=newHandler((Callback)MyThread.this);Looper.loop();版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。