作者gpc (gpc)
看板AndroidDev
标题Re: [问题] HttpGet升上4.0.3之後的问题
时间Thu Mar 29 03:27:04 2012
之前就在版上提过很多次了,看来兄台不是死忠老顾客XD
ANDROID 3.x 之後
不允许在main thread (activitythread, activity) 里面搞网路
一搞到就丢exception
解决方法两个:
1. 乖乖用thread吧
2. 将mainfest.xml里面的 targetSDK 设为 10 或以下 (11是HC)
这样activitythread就会当作没看到你偷在ui里面弄网路,但就会给你丑丑的UI
※ 引述《optimist9266 (Optimist)》之铭言:
: 这块程式码我丢在2.3.3的模拟器跟手机上面跑都没有问题,但是直到我昨天SS XE升级
: 4.0.3之後就出现错误,後来我又换成模拟器也莫名其妙跳例外状况,後来乾脆开了一个
: 4.0.3目标的专案再测一次还是一样。
: HttpClient m_httpClient = new DefaultHttpClient();
: HttpGet m_httpGet = new HttpGet("http://<Server>/?cmd=0&id=Demo");
: try
: {
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 220.136.126.115
1F:推 lovelycateye:你一说才想起来,虽然这种我本来就不会放UI Thread 03/29 07:15
2F:推 tomap41017:不是「本来」就应该放在Worker Thread吗? 03/29 23:08
3F:→ gpc:懒惰鬼或是只是测试啊 03/30 03:00
4F:→ Killercat:测试就用handler.post吧 简单易懂方便又不用改太多 03/31 19:19