你知道我为什么在调用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
(但如果是这样的话,你会得到null
的Exception
。关于java - getInputstream上的NullPointerException,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28246475/