看板 AndroidDev 關於我們 聯絡資訊
我是照著這本書「google android SDK 開發範例大全」第一版的 中的第八章練習http的post與get 我原本在4.0.3的版本運行http的post與get 是不能運行 在2.0.3就可以 上網找了原因發現是新版本的網路連結是不能運行在main thread 不過我4.0.3不是出現所謂的ANR 而是當我按下button傳送post或get時 是出現 unfortunately XXX has stopped 就得結束應用程式了 但因為我的thread不是很懂 所以我去找Thread的使用方式 有兩個版本thread的使用方式 都是來自同一個網站的作者 第一個版本如下(參考的網站 http://ppt.cc/Um8Z ) 傳統的thread的使用方式 我比較可以理解這種 但照著做還是出現相同問題 還是只有2.0.3可以正常執行 反倒是4.0.3 按下按鈕跑出unfortunately XXX has stopped 看了logcat出現的錯誤訊息 http://ppt.cc/~K-Z ------ 第二個版本如下(參考的網站 http://ppt.cc/NoZc ) 這是他直接針對他自己舊文章中的post跟get做修改 改成可以在android4.X使用 但我照著做相同的thread也是出錯 這個反倒是一執行程式就出現unfortunately XXX has stopped 而不是按下按鈕跑出錯誤的訊息 --- 程式碼:http://ppt.cc/ERCX 請忽略裡面的uriAPI字串是否正確...因為原本我是連到私人的網站 另外兩個版本的Button數量沒有一致 也請忽略 請問我是thread的觀念錯誤嗎? --- -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 118.167.77.3 ※ 編輯: aiweisen 來自: 118.167.77.3 (10/10 20:39)
asilzheng:根據log HTTP_TEST的67行改用mTextView1.getText(); 10/10 22:42
asilzheng:試試 猜想你用的getEditableText可能回傳了 null 10/10 22:43
s511320:加上thread應該可行 我之前也是有這類的問題 解決了 10/10 22:53
nobody1:main thread不能 http connection 10/10 23:28
aiweisen:67行修改完也是不行 也建立一個新的thread來做POST 10/11 17:39
aiweisen:所以出現這個問題 仍表示httpconnection還在main thread 10/11 17:40
aiweisen:中? 10/11 17:41
asilzheng:你的HTTP5.java做的事情是將設定放在另一個thread中 10/11 19:55
asilzheng:而不是按下去後產生另一個thread來連線 10/11 19:55
Killercat:handler.post(new runnable(){...})很好很強大 10/14 07:34
Killercat:建議用用看這個,可以比較無痛的改現有的code 10/14 07:34
Killercat:不過我不建議在心專案過度使用這個東西就是 10/14 07:34