看板 AndroidDev 關於我們 聯絡資訊
抱歉上一篇問題寫得不清不楚的 主要的問題是該如何從無名抓取人氣top10 剛下手就卡在網路讀取資料的地方 在mainActivity中設置一個button按下去執行以下方法: protected void httpClientConn() { DefaultHttpClient httpClient = new DefaultHttpClient(); HttpGet httpget = new HttpGet(WEBSITE); ResponseHandler<String> responsehandler = new BasicResponseHandler(); try { String content = httpClient.execute(httpget, responsehandler); Toast.makeText(getApplicationContext(), "連線成功", Toast.LENGTH_SHORT).show(); view_result.setText(content); } catch(IOException e) { Toast.makeText(getApplicationContext(), "連線失敗", Toast.LENGTH_SHORT).show(); } httpClient.getConnectionManager().shutdown(); } debug後出現exception,google以後原因是 3.0之後的版本不允許在main thread內進行網路操作的行為 所以我想寫一個在這個專案中專門用來抓取網頁資料的class 但是完全不知道該如何下手... 原本是找到AsyncTask,但如果每一個Activity都要讀取網頁資料的話 那就要每開一頁就寫一次AsyncTask很麻煩 有沒有辦法寫一個class專門用來做網頁讀取呢? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 1.161.201.139
givemepass:其實不用這麼麻煩 直接用HTMLCleaner就可以了 08/01 07:30
ivanf10710:能不能講解一下or網路上有教學嗎@@ 08/01 09:46
givemepass:官網有範例 08/01 14:04
KeySabre:把main thread的handler給連線用的thread 08/01 23:07
KeySabre:連線用的thread想要更動UI就sendMessage給剛那個handler 08/01 23:07
KeySabre:讓handler去更動UI 08/01 23:08
Killercat:開thread 更動ui的部分用handler.post() 08/02 00:11