android 4.0 mina访问服务器出错

发布于 2021-11-17 04:34:29 字数 678 浏览 962 评论 5

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错了?




如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

眼眸 2021-11-20 01:40:54

handler在子线程运行要使用Looped。

主线程实例化Handler没问题是因为主线程会自动申请消息循环队列,如果想在子线程运行需要使用Looped。如:

Looper.prepare();
mHandler = new Handler((Callback)MyThread.this);
Looper.loop();
只为守护你 2021-11-19 09:01:15

好了 ,问题解决了, 把这个方法写到一个线程去就行了,一开始还是不成功是因为线程忘了start了,马虎大意要不得啊。

感情旳空白 2021-11-19 08:43:40

嗯 ,但是不知道怎么再新建一个线程, new Thread在哪new 呢

伴我心暖 2021-11-18 23:45:39

谢谢了 ,现在好了 ,把方法写到一个线程里面就好了, 一开始线程没有start。

草莓味的萝莉 2021-11-18 21:54:22

handler是在主线程执行的。。。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文