你知道我为什么在调用getinputstream()函数时捕捉到nullpointerexception吗?
我做了一个urlconnection的日志,链接是正确的……我不知道是什么问题。

public Bitmap getBitmap(String resolution) {
    URL url = null;
    Bitmap bmp = null;

    switch(resolution) {
        case "thumb":
            url = thumbUrl;
            break;

        case "low":
            url = lowresUrl;
            break;

        case "standard":
            url = standardresUrl;
            break;
    }

    try {

        URLConnection conn = url.openConnection();

        InputStream in = conn.getInputStream();

        bmp = BitmapFactory.decodeStream(in);

        in.close();

    }
    catch (Exception e) {
        Log.e("Error", e.getMessage());
        e.printStackTrace();
    }

    return bmp;
}

最佳答案

考虑到你发布的代码,唯一合理的结论是conn就是null。您可以使用类似于

// InputStream in = conn.getInputStream();
InputStream in = (conn != null) ? conn.getInputStream() : null;

或者类似的
InputStream in = null;
if (conn != null) {
    in = conn.getInputStream();
}

我也注意到你的? :没有switch,所以也有可能default:url(但如果是这样的话,你会得到nullException

关于java - getInputstream上的NullPointerException,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28246475/

10-11 00:24