Android 实现将Bitmap 保存到本地
2020-03-21 07:18
886 查看
Overview
图片是一个可以使你程序变得比较的美观,所以我们会在我们的软件中使用图片。但是对于图片的操作也是比较的复杂。今天,我们学习一下如是将我们的图片保存到我们的本地。
开发环境
Android Studio 3.6
Android 11
Mac OS 10.15
模拟机 Google Pixel3 API R
然后学习一下如何来完成我们的功能
按照国际惯例,我们先来看一下我们的代码:
/** * Bitmap 帮助类之一 */ class BitmapUtils { /** * Save Bitmap * * @param name file name * @param bm picture to save */ static void saveBitmap(String name, Bitmap bm, Context mContext) { Log.d("Save Bitmap", "Ready to save picture"); //指定我们想要存储文件的地址 String TargetPath = mContext.getFilesDir() + "/images/"; Log.d("Save Bitmap", "Save Path=" + TargetPath); //判断指定文件夹的路径是否存在 if (!FileUtils.fileIsExist(TargetPath)) { Log.d("Save Bitmap", "TargetPath isn't exist"); } else { //如果指定文件夹创建成功,那么我们则需要进行图片存储操作 File saveFile = new File(TargetPath, name); try { FileOutputStream saveImgOut = new FileOutputStream(saveFile); // compress - 压缩的意思 bm.compress(Bitmap.CompressFormat.JPEG, 80, saveImgOut); //存储完成后需要清除相关的进程 saveImgOut.flush(); saveImgOut.close(); Log.d("Save Bitmap", "The picture is save to your phone!"); } catch (IOException ex) { ex.printStackTrace(); } } } }
这样我们的写入方法就完成了,比较的简单的。
首相,我们需要获取我们的软件的根目录。我们可以使用Context.getFilesDir()
来获取到软件的根目录,并且我需要保存到我们的images
文件下方。
这样获取了我么的存储路径然后我们的需要判断是不是首次使用,或者是该目录是否存在,然后我们看一下如何来判断我们的文件存在方法。
看一下源代码:
class FileUtils { /** * 判断指定目录的文件夹是否存在,如果不存在则需要创建新的文件夹 * @param fileName 指定目录 * @return 返回创建结果 TRUE or FALSE */ static boolean fileIsExist(String fileName) { //传入指定的路径,然后判断路径是否存在 File file=new File(fileName); if (file.exists()) return true; else{ //file.mkdirs() 创建文件夹的意思 return file.mkdirs(); } } }
我们在这个方法中传入指定的存储路径,然后判断是否存在,如果存在我们需要创建我们的指定目录,然后返回我们的创建结果。这样我们的对目录的操作就基本完成了。
完成对目录的操作,我们在看下如何完成我们的存储过程,我们需要创建一个FileOutputStream
来用于图片的写入,并且我们需要对图片进行相对应的压缩操作。
并且我们的在最后需要清除我们相关的方法,这样我们的地Bitmap
的操作就基本完成了。比较简单。
以上这篇Android 实现将Bitmap 保存到本地就是小编分享给大家的全部内容了,希望能给大家一个参考
您可能感兴趣的文章:
相关文章推荐
- android 中将bitmap保存为本地图片
- Android实现将View保存成Bitmap的方法
- Android实现EditText内容保存为Bitmap的方法
- Android下保存简单网页到本地(包括简单图片链接转换)实现代码
- Android实现搜索功能并本地保存搜索历史记录
- Android实现保存图片到本地并在相册中显示
- Android系统获取应用的Crash信息,保存在本地(可以自己实现上传到自己的服务器)
- android Bitmap 保存至本地
- Android保存Bitmap为本地文件
- Android 保存资源文件中的图片到本地相册,并实时刷新的实现方法!
- Android opengl ES实现后台绘图并保存为bitmap
- Android实现拍照,以及从相册选择图片裁剪功能同时保存在本地
- android canvas 绘制bitmap并保存到本地
- Android 保存bitmap图像到本地之后,相册查看不显示问题
- android实现监听打电话并录音保存到本地
- Android中保存图片到本地功能实现
- Android保存Bitmap到本地
- Android中简单实现从网络下在图片显示并保存在本地
- android 读取本地或网络图片,转换为Bitmap 并保存本地中
- android中Glide实现加载图片保存至本地并加载回调监听