您的位置:首页 > 理论基础 > 计算机网络

Android中保存网络图片到SD卡

2016-02-15 16:24 525 查看
/**
* 下载闪屏页的图片
*/
private void loadFirstImage(final String url) {
/**
* 在子线程中开启下载图片的任务
*/
new Thread(new Runnable() {
@Override
public void run() {
URL imageUrl;
try {
if (!TextUtils.isEmpty(url)) {
imageUrl = new URL(url);
InputStream is = imageUrl.openStream();
Bitmap bitmap = BitmapFactory.decodeStream(is);
saveFile(bitmap, System.currentTimeMillis() + ".jpg"); //将当前的时间作为图片的名字保存起来
is.close();
}
} catch (Exception ex) {
ex.printStackTrace();
}
}
}).start();
}

/**
* 保存图片到本地的SD卡
*
* @param bitmap   图片对象
* @param fileName 图片名
*/
private void saveFile(Bitmap bitmap, String fileName) {

try {
String filePath = "";
if (Environment.MEDIA_MOUNTED.equals(Environment.getExternalStorageState())) { //判断SD卡是否挂载
filePath = Environment.getExternalStorageDirectory() + "/renruiJob/";
} else {
return;
}

File dirFile = new File(filePath);
if (!dirFile.exists()) {
dirFile.mkdir();
}

File myPictureFile = new File(filePath + fileName);
BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream(myPictureFile));

bitmap.compress(Bitmap.CompressFormat.JPEG, 80, bos);

bos.flush();
bos.close();
} catch (Exception ex) {
ex.printStackTrace();
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: