Android开发实现的保存图片到相册功能示例

发布时间:2019-08-08 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了Android开发实现的保存图片到相册功能示例脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。

本文实例讲述了AndROId开发实现的保存图片到相册功能。分享给大家供大家参考,具体如下:

废话不多说,先上效果:

Android开发实现的保存图片到相册功能示例

点击图片 调用savephoto的SaveBITmapFromView(View view);方法自动保存图片

 //点击图片保存 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, PERMISSIONS,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 context;   public SavePhoto(Context context) {     this.context = context;   }   //保存文件的方法:   public void SaveBitmapFromView(View view) throws ParseException {     int w = view.getWidth();     int h = view.getHeight();     Bitmap bmp = Bitmap.createBitmap(w, h, Bitmap.config.argB_8888);     Canvas c = new Canvas(bmp);     view.layout(0, 0, w, h);     view.draw(c);     // 缩小图片     Matrix matrix = new Matrix();     matrix.postScale(0.5f,0.5f); //长和放大缩小的比例     bmp = Bitmap.createBitmap(bmp,0,0,bmp.getWidth(),bmp.getHeight(),matrix,true);     DateFormat format = new SimpleDateFormat("yyyyMMddHHmmss");     saveBitmap(bmp,bmp.toString() + ".JPEG");   }   /*    * 保存文件,文件名为当前日期    */   public void saveBitmap(Bitmap bitmap, String bitName){     String fileName ;     File file ;     if(Build.brAND .equals("Xiaomi") ){ // 小米手机       fileName = environment.getExternalStorageDirectory().getPath()+"/DCIM/Camera/"+bitName ;     }else{ // Meizu 、Oppo       LOG.v("qwe","002");       fileName = Environment.getExternalStorageDirectory().getPath()+"/DCIM/"+bitName ;     }     file = new File(fileName);     if(file.exists()){       file.delete();     }     FileOutputStream out;     try{       out = new FileOutputStream(file);       // 格式为 JPEG,照相机拍出的图片为JPEG格式的,PNG格式的不能显示在相册中       if(bitmap.COMPress(Bitmap.CompressFormat.JPEG, 90, out))       {         out.flush();         out.close();         // 插入图库         MediaStore.Images.Media.insertImage(context.getContentResolver(), file.getAbsolutePath(), bitName, null);       }     }     catch (FileNotFoundException e)     {       e.printStackTrace();     }     catch (IOException e)     {       e.printStackTrace();     }     // 发送广播,通知刷新图库的显示     context.sendBroadcast(new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE, Uri.parse("file://" + fileName)));   } }  

布局于其他部分(GridView选择图片等)代码:

https://www.jb51.net/article/158666.htm

**另附:**从相册中选择图片的方法

//www.jb51.net/article/158640.htm

更多关于Android相关内容感兴趣的读者可查看本站专题:《Android图形与图像处理技巧总结》、《Android开发入门与进阶教程》、《Android调试技巧与常见问题解决方法汇总》、《Android基本组件用法总结》、《Android视图View技巧总结》、《Android布局layout技巧总结》及《Android控件用法总结

android教程
脚本网站
android studio

脚本宝典总结

以上是脚本宝典为你收集整理的Android开发实现的保存图片到相册功能示例全部内容,希望文章能够帮你解决Android开发实现的保存图片到相册功能示例所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。