您的位置:首页 > 移动开发 > Android开发

android保存图片到本地sd卡

2015-07-15 16:32 232 查看
1,声明路径

private static final String SAVE_PIC_PATH= Environment.getExternalStorageState().equalsIgnoreCase(Environment.MEDIA_MOUNTED) ? Environment.getExternalStorageDirectory().getAbsolutePath() : "/mnt/daokoudai/saveImg";//保存到SD卡

private static final String SAVE_REAL_PATH = SAVE_PIC_PATH+ "/daokoudai/saveImg";//保存的确切位置

2,创建方法

/**保存二维码到本地sd卡

* @param bitmap

* @param fileName

* @param path

*/

public void saveFile(Bitmap bitmap, String fileName, String path) {

String subForder = SAVE_REAL_PATH + path;

File foder = new File(subForder);

if (!foder.exists()) {

foder.mkdirs();

}

File myCaptureFile = new File(subForder, fileName);

if (!myCaptureFile.exists()) {

try {

myCaptureFile.createNewFile();

BufferedOutputStream outputStream = new BufferedOutputStream(new FileOutputStream(myCaptureFile));

bitmap.compress(Bitmap.CompressFormat.PNG, 100, outputStream);//压缩图片

outputStream.flush();

outputStream.close();

//广播相册更新图片

Intent intent = new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE);

Uri uri = Uri.fromFile(myCaptureFile);

intent.setData(uri);

sendBroadcast(intent);

} catch (IOException e) {

e.printStackTrace();

}

Toast.maketext(this,"图片收藏成功",Toast.LENGTH_SHORT).show();

}else{

Toast.maketext(this,"图片已收藏到本地",Toast.LENGTH_SHORT).show();

}

}

3,在需要的地方调用

Resources res = getResources();

Bitmap bitmap = BitmapFactory.decodeResource(res, R.drawable.img);

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