作者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
推 lovelycateye:你一說才想起來,雖然這種我本來就不會放UI Thread 03/29 07:15
推 tomap41017:不是「本來」就應該放在Worker Thread嗎? 03/29 23:08
→ gpc:懶惰鬼或是只是測試啊 03/30 03:00
→ Killercat:測試就用handler.post吧 簡單易懂方便又不用改太多 03/31 19:19