获取网络图片
/**
* 获取头像
*/
public class DownImage extends AsyncTask {
private ImageView imageView;
private String url;
private String fileName;
public DownImage(ImageView imageView, String url, String name) {
this.imageView = imageView;
this.url = url;
this.fileName = name;
}
@Override
protected void onPostExecute(Object o) {
// super.onPostExecute(o);
imageView.setImageBitmap((Bitmap) o);
}
@Override
protected Object doInBackground(Object[] objects) {
try {
//加载一个网络图片
InputStream is = new URL(url).openStream();
bitmap = BitmapFactory.decodeStream(is);
saveBitmapToLocal(bitmap);
} catch (Exception e) {
e.printStackTrace();
}
return bitmap;
}
}
/**
* 写缓存到本地sd卡中
*
* @param bitmap
*/
public static void saveBitmapToLocal(Bitmap bitmap) {
try {
// 创建文件流,指向该路径,文件名叫做fileName
File file = new File(FILE_PATH, PIC_NAME);
// file其实是图片,它的父级File是文件夹,判断一下文件夹是否存在,如果不存在,创建文件夹
File fileParent = file.getParentFile();
if (!fileParent.exists()) {
fileParent.mkdirs();// 创建文件夹
}
// 将图片保存到本地
bitmap.compress(Bitmap.CompressFormat.JPEG, 100, new FileOutputStream(file));
} catch (Exception e) {
e.printStackTrace();
}
}
````