android中Http访问时 connection.getResponseCode()不被执行
2016-04-15 12:39
399 查看
昨天看视频学习android,但是做到查看网络图片时一直不成功,最终通过debug找到了是HttpURLConnection 的getResponseCode()抛异常,查询了下资料是因为
**
访问HTTP的请求没有放在单独线程而是放在主线程 了
**
当然这是android 在4.0以后才会出现的问题。这也是谷歌工程师为了解决用户体验问题设计的结构,也就是必须把联网操作放在一个单线程中,这样就在主线程数据多的情况下提升用户的体验,及不用使得用户用过长时间去等待。
解决办法:
1、把http的请求单独放在一个新线程中,当然你也必须需要管理消息机制进行相关操作
2、或者在调用此Http访问的Activity的onCreat()方法下面加:closeStrictMode();
具体closeStrictMode()方法如下
public static void closeStrictMode() {
StrictMode.setThreadPolicy(new StrictMode.ThreadPolicy.Builder()
.detectAll().penaltyLog().build());
}
就解决了!!
具体StrictMode()介绍请看:http://www.bkjia.com/Androidjc/966106.html
**
访问HTTP的请求没有放在单独线程而是放在主线程 了
**
当然这是android 在4.0以后才会出现的问题。这也是谷歌工程师为了解决用户体验问题设计的结构,也就是必须把联网操作放在一个单线程中,这样就在主线程数据多的情况下提升用户的体验,及不用使得用户用过长时间去等待。
解决办法:
1、把http的请求单独放在一个新线程中,当然你也必须需要管理消息机制进行相关操作
2、或者在调用此Http访问的Activity的onCreat()方法下面加:closeStrictMode();
具体closeStrictMode()方法如下
public static void closeStrictMode() {
StrictMode.setThreadPolicy(new StrictMode.ThreadPolicy.Builder()
.detectAll().penaltyLog().build());
}
就解决了!!
具体StrictMode()介绍请看:http://www.bkjia.com/Androidjc/966106.html
相关文章推荐
- http头部信息研究
- 网络请求修改plist文件
- 什么是HTTP Keep-Alive呢?
- HTTP协议——处理状态和返回状态码含义
- TCP 连接断连问题剖析
- 网络编程相关知识
- 网络编程释疑之:TCP半开连接的处理
- 荀策网络:“互联网+”还是“+互联网”?
- 图文说明虚拟机的几种网络模式
- 性能调优之网络篇 - 用ss命令替代netstat
- android 网络工具类
- TCP/IP常见问题总结(三)
- NEFU 500 网购 网络流+二分
- 循环神经网络(RNN, Recurrent Neural Networks)介绍
- URL,URLConnection,HttPURLConnection的使用
- URL,URLConnection,HttPURLConnection的使用
- Android中WebView拦截替换网络请求数据
- okhttp封装
- HttpClient简介
- HTTPS和HTTP的概念和区别