我想要做的是将图像保存到手机的内部存储器 (不是 SD 卡) 。
我该怎么做?
我已将图像直接从相机获取到我的应用程序中的图像视图,它一切正常。
现在我想要将此图像从图像视图保存到我的 android 设备的内部存储器,并在需要时访问它。
谁能指导我如何做到这一点?
我对android有点新,所以请,如果我能有一个详细的程序,我将不胜感激。
使用以下代码将图像保存到内部目录。
private String saveToInternalStorage(Bitmap bitmapImage){ ContextWrapper cw = new ContextWrapper(getApplicationContext()); // path to /data/data/yourapp/app_data/imageDir File directory = cw.getDir("imageDir", Context.MODE_PRIVATE); // Create imageDir File mypath=new File(directory,"profile.jpg"); FileOutputStream fos = null; try { fos = new FileOutputStream(mypath); // Use the compress method on the BitMap object to write image to the OutputStream bitmapImage.compress(Bitmap.CompressFormat.PNG, 100, fos); } catch (Exception e) { e.printStackTrace(); } finally { try { fos.close(); } catch (IOException e) { e.printStackTrace(); } } return directory.getAbsolutePath(); }
解释 :
1.目录将以给定的名称创建。Javadocs 用于告诉它将在哪里创建目录。
2.您必须提供要保存的图像名称。
从内部存储器中读取文件。使用下面的代码
private void loadImageFromStorage(String path) { try { File f=new File(path, "profile.jpg"); Bitmap b = BitmapFactory.decodeStream(new FileInputStream(f)); ImageView img=(ImageView)findViewById(R.id.imgPicker); img.setImageBitmap(b); } catch (FileNotFoundException e) { e.printStackTrace(); } }