Android 获取drawable目录图片 并存入指定文件的步骤详解

 更新时间:2020年03月31日 09:36:52   作者:路过火车  
这篇文章主要介绍了Android 获取drawable目录图片 并存入指定文件,本文分步骤通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

第一步:获取存储的路径 我们用/sdcard/Android/data/包名/的路径 方便我们测试查看

 String path=MyApplication.getContextObject().getExternalFilesDir("").toString();
 File file=new File(path);

第二步:根据该文件中存储的路径信息在文件系统上创建一个新的空文件

File finalImageFile = new File(file, System.currentTimeMillis() + ".jpg");
 try {
   finalImageFile.createNewFile();
 } catch (IOException e) {
   e.printStackTrace();
 }

第三步:将字节放入文件输出流

FileOutputStream fos = null;
 try {
   fos = new FileOutputStream(finalImageFile);
 } catch (FileNotFoundException e) {
   e.printStackTrace();
 }

第四步:将图片压缩成图片格式

 BitmapDrawable bitmapDrawable = (BitmapDrawable)MyApplication.getContextObject().getResources().getDrawable(R.drawable.account);
 Bitmap bitmap=bitmapDrawable.getBitmap();
 if (bitmap == null) {
   Toast.makeText(MyApplication.getContextObject(), "图片不存在",Toast.LENGTH_LONG).show();
   return;
 }
 bitmap.compress(Bitmap.CompressFormat.PNG, 100, fos);
 try {
   fos.flush();
   fos.close();
   Toast.makeText(MyApplication.getContextObject(), "图片保存在:"+ finalImageFile.getAbsolutePath(), Toast.LENGTH_LONG).show();
 } catch (IOException e) {
   e.printStackTrace();
 }

完整代码

 String path=MyApplication.getContextObject().getExternalFilesDir("").toString();
 File file=new File(path);
 
 File finalImageFile = new File(file, System.currentTimeMillis() + ".jpg");
 try {
   finalImageFile.createNewFile();
 } catch (IOException e) {
   e.printStackTrace();
 }
 
 FileOutputStream fos = null;
 try {
   fos = new FileOutputStream(finalImageFile);
 } catch (FileNotFoundException e) {
   e.printStackTrace();
 }
 
 BitmapDrawable bitmapDrawable = (BitmapDrawable)MyApplication.getContextObject().getResources().getDrawable(R.drawable.account);
 Bitmap bitmap=bitmapDrawable.getBitmap();
 if (bitmap == null) {
   Toast.makeText(MyApplication.getContextObject(), "图片不存在",Toast.LENGTH_LONG).show();
   return;
 }
 bitmap.compress(Bitmap.CompressFormat.PNG, 100, fos);
 try {
   fos.flush();
   fos.close();
   Toast.makeText(MyApplication.getContextObject(), "图片保存在:"+ finalImageFile.getAbsolutePath(), Toast.LENGTH_LONG).show();
 } catch (IOException e) {
   e.printStackTrace();
 }

总结

到此这篇关于Android 获取drawable目录图片 并存入指定文件的文章就介绍到这了,更多相关android 目录图片存入指定文件内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Android图片加载框架Gilde源码层深入分析

    Android图片加载框架Gilde源码层深入分析

    Glide就像Picasso,可以从多个源去加载和显示图片,同时也兼顾缓存和在做图片处理的时候维持一个低内存消耗。它已经在Google官方APP中使用了,就和Picasso一样受欢迎
    2022-11-11
  • 详解Android 图片的三级缓存及图片压缩

    详解Android 图片的三级缓存及图片压缩

    本篇文章主要介绍了Android 图片的三级缓存 及 图片压缩,这里整理了详细的代码,有需要的小伙伴可以参考下。
    2016-12-12
  • Android中RecyclerView实现商品分类功能

    Android中RecyclerView实现商品分类功能

    这篇文章主要为大家详细介绍了Android中RecyclerView实现商品分类功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-02-02
  • Android onMeasure与onDraw及自定义属性使用示例

    Android onMeasure与onDraw及自定义属性使用示例

    这篇文章主要介绍了Android onMeasure与onDraw及自定义属性使用示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习吧
    2023-02-02
  • Android Rxjava3 使用场景详解

    Android Rxjava3 使用场景详解

    本文主要介绍了Android Rxjava3 使用场景详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-04-04
  • 浅析KJFrameForAndroid框架如何高效加载Bitmap

    浅析KJFrameForAndroid框架如何高效加载Bitmap

    Bitmap是Android系统中的图像处理的最重要类之一。用它可以获取图像文件信息,进行图像剪切、旋转、缩放等操作,并可以指定格式保存图像文件。本文主要是从KJFrameForAndroid框架中分析高效加载Bitmap的方法
    2014-07-07
  • Android中Fragment的基本用法示例总结

    Android中Fragment的基本用法示例总结

    Fragment是activity的界面中的一部分或一种行为,下面这篇文章主要给大家介绍了关于Android中Fragment的基本用法的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考下
    2018-05-05
  • Android实现左右滑动效果的方法详解

    Android实现左右滑动效果的方法详解

    本篇文章是对Android实现左右滑动效果的方法进行了详细的分析介绍,需要的朋友参考下
    2013-06-06
  • 使用Eclipse配置android开发环境教程

    使用Eclipse配置android开发环境教程

    这篇文章主要介绍了使用Eclipse配置android开发环境教程,本文讲解了下载需要用到的工具、下载完需要的工具之后开始安装、让Ecplise自动安装Android开发插件(ADT- plugin)、配置Andiord SDK路径、测试开发一个Android项目等内容,需要的朋友可以参考下
    2015-04-04
  • android实现可拖动的浮动view

    android实现可拖动的浮动view

    这篇文章主要为大家详细介绍了android实现可拖动的浮动view,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-04-04

最新评论