作者ivanf10710 (Ivan)
看板AndroidDev
標題Re: [問題] 如何抓取無名當日人氣top 10?
時間Tue Jul 31 23:29:36 2012
抱歉上一篇問題寫得不清不楚的
主要的問題是該如何從無名抓取人氣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