第一步:获取存储的路径 我们用/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 目录图片存入指定文件内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。