当前位置: 代码迷 >> Android >> ,使用.getResponseCode()方法抛出错误
  详细解决方案

,使用.getResponseCode()方法抛出错误

热度:227   发布时间:2016-05-01 10:45:47.0
求助,使用.getResponseCode()方法抛出异常
读取网络图片,但是每次都是在执行.getResponseCode()方法的时候抛出异常,快要崩溃了,到底是怎么回事,代码如下:
package com.qxj.lixinxing.service;

import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.URL;

import com.qxj.lixinxing.utils.StreamTool;

import android.net.Uri;
import android.util.Log;

public class ImageService {

public static byte[] getImage(String path) throws Exception {

URL url = new URL(path);     //得到资源地址
HttpURLConnection connection = (HttpURLConnection) url.openConnection();   //得到连接
connection.disconnect();
connection.setConnectTimeout(5000);     //如果5000毫秒内未连接到就超时
connection.setRequestMethod("GET"); //以“get”方式发出请求
//每次执行到下面判断语句的时候就会抛出异常,是怎么回事?
if(connection.getResponseCode() == 200) {   //如果数据存在,执行下一步
InputStream inStream = connection.getInputStream();   //得到网络返回的输入流
return StreamTool.read(inStream);                     //将输入流转换为二进制数据
}
return null;
}

}

------解决方案--------------------
把异常也发出来啊
------解决方案--------------------
很明显了 把网络操作放在线程中操作,这个错误很明显的告诉你 你把网络操作放在了主线程 这是不允许的!你需要另起线程进行网络操作
new thread(){

public void run(){
写上你的那些代码试试!
}

}.start()
------解决方案--------------------
connection.disconnect();
你这是要干嘛,断开连接?
------解决方案--------------------
引用:
connection.disconnect();
你这是要干嘛,断开连接?

是的额,为什么要断开呢