介绍
这篇文章将为大家详细讲解有关怎么在Android中将图片保存到相册,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。
调用<代码> savephoto的SaveBitmapFromView(查看视图),代码>方法自动保存图片
//点击图片保存 imageView.setOnClickListener (new View.OnClickListener (), { @Override才能 public 才能;void  onClick (View v), { ,,,String [], PERMISSIONS =, { ,,,,,,,“android.permission.READ_EXTERNAL_STORAGE", ,,,,,,,“android.permission.WRITE_EXTERNAL_STORAGE",}; ,,,//检测是否有写的权限 ,,,int permission =, ContextCompat.checkSelfPermission (MainActivity.this, ,,,,,,,“android.permission.WRITE_EXTERNAL_STORAGE"); ,,,if (permission !=, PackageManager.PERMISSION_GRANTED), { ,,,,,//,没有写的权限,去申请写的权限,会弹出对话框 ,,,,,ActivityCompat.requestPermissions (MainActivity.this,权限,1); ,,,} ,,,try { ,,,,,//创建savephoto类保存图片 ,,,,,SavePhoto SavePhoto =, new SavePhoto (MainActivity.this); ,,,,,savePhoto.SaveBitmapFromView (imageView); ,,,},catch (ParseException e), { ,,,,,e.printStackTrace (); ,,,} ,,} });
SavePhoto类具体实现
参考自:https://www.jb51.net/article/158635.htm
但原博主部分代码有误我稍加了修改
public class SavePhoto {//存才能调用该类的活动 Context 才能;语境; public 才能SavePhoto (Context 上下文),{ ,,,this.context =,上下文; ,,}//才能保存文件的方法: public 才能;void  SaveBitmapFromView (View 视图),throws ParseException { ,,,int w =, view.getWidth (); ,,,int h =, view.getHeight (); ,,,Bitmap bmp =, Bitmap.createBitmap (w, h, Bitmap.Config.ARGB_8888); ,,,Canvas c =, new 画布(bmp); ,,,view.layout (0, 0, w, h); ,,,view.draw (c); ,,,//,缩小图片 ,,,Matrix Matrix =, new 矩阵(); ,,,matrix.postScale (0.5 0.5 f, f);,//长和宽放大缩小的比例 ,,,bmp =, Bitmap.createBitmap (bmp, 0, 0, bmp.getWidth (), bmp.getHeight(),矩阵,true); ,,,DateFormat format =, new SimpleDateFormat (“yyyyMMddHHmmss"); ,,,saveBitmap (bmp, bmp.toString (), +,“.JPEG"); ,,} ,/* ,,*,保存文件,文件名为当前日期 ,,*/public 才能;void  saveBitmap (Bitmap ,位图,String bitName) { ,,,String fileName ; ,,,File File ; ,,,如果(Build.BRAND .equals (“Xiaomi"),){//大敌;小米手机 ,,,,,fileName =, Environment.getExternalStorageDirectory () .getPath () +“/DCIM/相机/? bitName ; 还有,,,}{//大敌;Meizu ,朋友 ,,,,,Log.v (“qwe",“002“); ,,,,,fileName =, Environment.getExternalStorageDirectory () .getPath () +“DCIM/? bitName ; ,,,} ,,,file =, new 文件(文件名); ,,,如果(file.exists ()) { ,,,,,file.delete (); ,,,} ,,,FileOutputStream ; ,,,试着{ ,,,,,out =, new FileOutputStream(文件); ,,,,,//,格式为,JPEG,照相机拍出的图片为JPEG格式的,PNG格式的不能显示在相册中 ,,,,,如果(bitmap.compress (Bitmap.CompressFormat.JPEG,, 90,,)) ,,,,,{ ,,,,,,,out.flush (); ,,,,,,,out.close (); ,,,,,,,//,插入图库 ,,,,,,,MediaStore.Images.Media.insertImage (context.getContentResolver (),, file.getAbsolutePath (),, bitName,, null); ,,,,,} ,,,} ,,,catch (FileNotFoundException e) ,,,{ ,,,,,e.printStackTrace (); ,,,} null null null null null null null null怎么在Android中将图片保存到相册