以下是我从网上找的获取网页源码的 代码 所有包都已经正常导入 但是编译后 程序一运行就崩溃
import 略;
/**
@author Jasonzhou
@since 2013-03-21
@功能 读取网页内容
@说明 获取网页的全部代码后使用jsuop进行处理, 以便得到想要的内容 **/
public class MainActivity extends Activity {
public String url = "http://blog.csdn.net/jasonzhou613/article/details/7905388";
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
manageException();// 处理抛出异常
TextView tv = (TextView) findViewById(R.id.text);
String myString = null;
myString = posturl(url);
// 设置屏幕显示
Log.i("---网页代码---", "" + myString);
String html = myString;
Document doc = Jsoup.parse(html);
tv.setText(doc.title());
}
/**
* 获取参数指定的网页代码,将其返回给调用者,由调用者对其解析 返回String
*/
public String posturl(String url) {
InputStream is = null;
String result = "";
try {
HttpClient httpclient = new DefaultHttpClient();
HttpPost httppost = new HttpPost(url);
HttpResponse response = httpclient.execute(httppost);
HttpEntity entity = response.getEntity();
is = entity.getContent();
} catch (Exception e) {
return "Fail to establish http connection!" + e.toString();
}
try {
BufferedReader reader = new BufferedReader(new InputStreamReader(
is, "utf-8"));
StringBuilder sb = new StringBuilder();
String line = null;
while ((line = reader.readLine()) != null) {
sb.append(line + "\n");
}
is.close();
result = sb.toString();
} catch (Exception e) {
return "Fail to convert net stream!";
}
return result;
}
public void manageException() {
StrictMode.setThreadPolicy(new StrictMode.ThreadPolicy.Builder()
.detectDiskReads().detectDiskWrites().detectNetwork() // or
// .detectAll()
// for
// all
// detectable
// problems
.penaltyLog().build());
StrictMode.setVmPolicy(new StrictMode.VmPolicy.Builder()
.detectLeakedSqlLiteObjects().penaltyLog().penaltyDeath()
.build());
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.activity_main, menu);
return true;
}
}
第一:进行耗时任务需要另外开启线程。你过去网页代码需要开线程获取数据后交给handler来处理,或者直接转给主线程。
第二:httpclient进行数据传输的方式已经被废弃了,要用url.openconnect方法博客里有。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。