作者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
1F:推 givemepass:其实不用这麽麻烦 直接用HTMLCleaner就可以了 08/01 07:30
2F:→ ivanf10710:能不能讲解一下or网路上有教学吗@@ 08/01 09:46
3F:→ givemepass:官网有范例 08/01 14:04
5F:推 KeySabre:把main thread的handler给连线用的thread 08/01 23:07
6F:→ KeySabre:连线用的thread想要更动UI就sendMessage给刚那个handler 08/01 23:07
7F:→ KeySabre:让handler去更动UI 08/01 23:08
8F:→ Killercat:开thread 更动ui的部分用handler.post() 08/02 00:11