1
public static Bitmap getImage(String address) throws Exception {

    Bitmap imgmap = null;
    InputStream is = null;

    URL url = new URL(address);

    HttpURLConnection  conn = (HttpURLConnection)url.openConnection();
    try {
        conn.setRequestMethod("GET"); >>> here was been excuted,but go to finally block
        conn.setConnectTimeout(5000); 
        is = conn.getInputStream();
        byte[] imgbytes = StreamTool.getBytes(is);
        imgmap = BitmapFactory.decodeByteArray(imgbytes, 0, imgbytes.length);

    } finally {
        if (is != null) {
            is.close();
        }
        if (conn != null) {
            conn.disconnect();
        }
    }

    return imgmap;
}

が実行される前conn.setRequestMethod("GET")に、接続が既に確立されているという例外をスローします。誰が私に解決策を与えることができます

4

5 に答える 5

0

これは、リクエスト メソッドを設定する前に接続しているためです。

これを試すことをお勧めします:

conn.setRequestMethod("GET");
conn.connect);
conn.setConnectTimeout(5000); 
is = conn.getInputStream();
byte[] imgbytes = StreamTool.getBytes(is);
于 2015-06-28T23:02:43.717 に答える
-3

setRequestMethod()これは、接続が確立される前に関数を呼び出す必要があるためです。このリンクを確認してください

http://developer.android.com/reference/java/net/HttpURLConnection.html#setRequestMethod(java.lang.String)

したがって、openConnection() の前に呼び出したほうがよいでしょう。または、まったく呼び出さないでください。

于 2013-11-04T11:15:16.250 に答える