如何保存图像(从手机库导入到Android应用程序)并保存到Android应用程序本地目录?

时间:2013-08-21 12:10:51

标签: android image android-sdcard

我搜索了与此相关的所有问题,但我没有得到解决方案。我的要求是从我的Android应用程序,用户可以从手机库中选择图像并将其设置为他的最爱。我的问题是从画廊拍摄的照片需要保存到应用程序本地目录(此目录对用户不可见,因为它将存储在应用程序中)。如果用户从电话库中删除图像,那么应用程序也应该显示他最喜欢的图像。所以我需要保存本地目录。请帮我这个。提前致谢。我知道以下代码用于存储到SD卡,但我需要将图像从SD卡保存到应用程序的本地文件夹。

  BitmapFactory.Options bmOptions = new BitmapFactory.Options();
        bmOptions.inSampleSize = 1;
        Bitmap bm = LoadImage(imagePath, bmOptions);
        String root = Environment.getExternalStorageDirectory().toString();
        File myDir = new File(root + "/MyFolder");    
        myDir.mkdirs();
        Random generator = new Random();
        int n = 10000;
        n = generator.nextInt(n);
        String fname = "Image-"+ n +".jpg";
        File file = new File (myDir, fname);
        if (file.exists ()) file.delete (); 
        try {
               FileOutputStream out = new FileOutputStream(file);
               bm.compress(Bitmap.CompressFormat.JPEG, 90, out);
               out.flush();
               out.close();

        } catch (Exception e) {
               e.printStackTrace();
        }

1 个答案:

答案 0 :(得分:0)

使用例如:

 File path = getExternalFilesDir(Environment.DIRECTORY_DCIM);
       File image = new File(path,imageFileName );

您的图片将保存在您的应用目录中。