记录一下,免得重复犯错。
很多朋友大多这样写:
//根据url获取图片的bitmap
private Bitmap getBitmap(String url) {
URL imageURL = null;
Log.e("inuni", "URL = " + url);
try {
imageURL = new URL(url);
} catch (MalformedURLException e) {
e.printStackTrace();
System.out.println("=================bitmap===url=====================" + e);
}
try {
HttpURLConnection conn = (HttpURLConnection) imageURL.openConnection();
conn.setDoInput(true);
conn.connect();
InputStream is = conn.getInputStream();
Bitmap bitmap = BitmapFactory.decodeStream(is);
return bitmap;
} catch (Exception e) {
e.printStackTrace();
System.out.println("=================bitmap===io=====================" + e);
}
return null;
}
但是我这样做总是有异常,据说是不能再主线程获取图片更新UI吧。
简单的办法是使用Picasso,用Picasso加载网络图片只需要一行代码:
首先在 gradle添加:
compile 'com.squareup.picasso:picasso:2.5.2'
初始化ImageView后直接:
ImageView ivImage = findView....
Picasso.with(context).load("url").into(ivImage);
各路大神有更好的办法,希望能互相交流