您的位置:首页 > 其它

ImageLoader下载的图片在手机SdCard上进行读写操作

2015-11-24 17:24 375 查看
1.保存Bitmap到手机SD卡上:
ImageLoader.getInstance().loadImage(GuidUrl,new SimpleImageLoadingListener(){
@Override
public void onLoadingComplete(String imageUri, View view, Bitmap loadedImage) {
super.onLoadingComplete(imageUri, view, loadedImage);
BitmapName=imageUri.substring(imageUri.lastIndexOf("/")+1,imageUri.length());
BitmapUtils bitmapUtils=new BitmapUtils();
bitmapUtils.saveBitmap(BitmapName,loadedImage);

2.BitmapUtils工具类:

package com.beidougd.bdg.util;

import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.os.Environment;
import android.util.Log;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;

/**
* Created by yr01 on 2015/11/24.
*/
public class BitmapUtils {
public void saveBitmap(String name,Bitmap bitmap) {
FileOutputStream fileOutputStream = null;
try {
// 判断sdcard的状态
String sdcardState = Environment.getExternalStorageState();
if (Environment.MEDIA_MOUNTED.equals(sdcardState)) {
// 有sdcard

// 判断path有没有
File filePath = new File(Constant.SD_PathName);//此处为常量地址:/mnt/sdcard/picture,可以自己定义                                             <span style="font-family: Arial, Helvetica, sans-serif;">                      if (!filePath.exists()) {</span>
filePath.mkdirs();
}

// 判断file有没有

File file = new File(Constant.SD_PathName, name);
if (file.exists()) {
file.delete();
}
// 写数据
fileOutputStream = new FileOutputStream(file);
bitmap.compress(Bitmap.CompressFormat.PNG, 100, fileOutputStream);
fileOutputStream.flush();
}
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
if (fileOutputStream != null)
fileOutputStream.close();
} catch (Exception e2) {
// TODO: handle exception
}
}
}
public static Bitmap getLoacalBitmap(String url) {
try {
FileInputStream fis = new FileInputStream(url);
return BitmapFactory.decodeStream(fis);
} catch (FileNotFoundException e) {
e.printStackTrace();
return null;
}
}
}
3.从sd卡上拿图片进行显示:

Bitmap bitmap= BitmapUtils.getLoacalBitmap(PathName);//PathName:  <span style="font-family: Arial, Helvetica, sans-serif;">/mnt/sdcard/picture/girls.png</span>

imageView_guid.setImageBitmap(bitmap);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: