直接上代码复制可用
public class TMNetUrlToBitmapHelper{
public static Bitmap getBitmap(String netUrl,Context context){
URL url = null;
try {
url = new URL(netUrl);
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setConnectTimeout(5000);
conn.setRequestMethod("GET");
if (conn.getResponseCode() == 200) {
InputStream inputStream = conn.getInputStream();
Bitmap bitmap = BitmapFactory.decodeStream(inputStream);
return bitmap;
}else {
Bitmap bitmap = BitmapFactory.decodeResource(context.getResources(), R.mipmap.ic_launcher);
ByteArrayOutputStream baos = new ByteArrayOutputStream();
bitmap.compress(Bitmap.CompressFormat.JPEG, 100, baos);
return bitmap;
}
} catch (Exception e) {
e.printStackTrace();
Bitmap bitmap = BitmapFactory.decodeResource(context.getResources(), R.mipmap.ic_launcher);
ByteArrayOutputStream baos = new ByteArrayOutputStream();
bitmap.compress(Bitmap.CompressFormat.JPEG, 100, baos);
return bitmap;
}
}
}
因为需要网络请求,Android SDK高版本是不容许再ui线程进行网络请求的,所有调用的时候需要重新启动一条线程来来执行
Bitmap bitmap;
public Bitmap returnBitMap(final String url) {
new Thread(new Runnable(){
@Override
public void run() {
bitmap = TMNetUrlToBitmapHelper.getBitmap(url,getContext());
}
}).start();
return bitmap;
}
这里获取到的bitmap就是url转换之后的bitmap了
技术源于分享----
该博客介绍了一个在Android中从网络URL获取Bitmap的方法,通过创建一个新线程避免UI线程阻塞。首先,使用HttpURLConnection建立连接并获取输入流,然后通过BitmapFactory将流解码为Bitmap。如果网络请求失败,则返回默认的Bitmap资源。
2345

被折叠的 条评论
为什么被折叠?



