今天想在Android下,用httpClient去获取网页的内容,结果在httpClient处报了错,

android.os.StrictMode$AndroidBlockGuardPolicy.onNetwork(StrictMode.java:1145), libcore.io.BlockGuardOs.connect(BlockGuardOs.java:84), libcore.io.IoBridge.connectErrno(IoBridge.java:127), libcore.io.IoBridge.connect(IoBridge.java:112), java.net.PlainSocketImpl.connect(PlainSocketImpl.java:192), java.net.PlainSocketImpl.connect(PlainSocketImpl.java:459), java.net.Socket.connect(Socket.java:843), org.apache.http.conn.scheme.PlainSocketFactory.connectSocket(PlainSocketFactory.java:119), org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:144), org.apache.http.impl.conn.AbstractPoolEntry.open(AbstractPoolEntry.java:164), org.apache.http.impl.conn.AbstractPooledConnAdapter.open(AbstractPooledConnAdapter.java:119), org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:360), org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:555), org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpCl

问我们的Android大神,得知Android不能再主线程去访问网络,需要另起线程去访问

方法一:

@TargetApi(Build.VERSION_CODES.GINGERBREAD)

@SuppressLint("NewApi")

publicstaticString getHtmlByUrl(String url){

StrictMode.ThreadPolicy policy=newStrictMode.ThreadPolicy.Builder().permitAll().build();

StrictMode.setThreadPolicy(policy);

HttpHost proxy = new HttpHost(PROXY, PROXY_PORT);
DefaultHttpClient httpClient = new DefaultHttpClient();

在httpClient访问前,加上红颜色的代码。


方法二:

用java创建个线程,在线程中去httpClient访问网络。


更多相关文章

  1. 浅谈Java中Collections.sort对List排序的两种方法
  2. Python list sort方法的具体使用
  3. python list.sort()根据多个关键字排序的方法实现
  4. 与Android的系统打交道
  5. android 6.0及以下获取wifi mac地址
  6. Best Practice For Android
  7. android Environment 常用方法(获取存储目录)
  8. Porting Android(安卓)to S3C6410
  9. Android(安卓)IntentService 深入分析

随机推荐

  1. Hibernate面试题大全
  2. Samba服务器部署
  3. date使用
  4. 闪存是什么
  5. 任务计划crontab
  6. 祝好...
  7. binlog有哪些工作模式?Linux云计算运维入
  8. centos7修改root密码
  9. curl和wget使用
  10. CentOS7部署VNC