android:无法将图像保存在文件夹中并将其显示在活动中

时间:2013-09-26 07:14:24

标签: java android image android-camera android-camera-intent

我想捕获图像并将其保存在文件夹中,但是当我捕获它时,我的图像不会保存在我想要的文件夹中,而只是保存在图库中,我的图像名称不像我想要的。     我的形象也没有显示在我的活动中,有谁知道,为什么会这样?

这是我的代码:

    private void dialogKamera() {
String sdCard= Environment.getExternalStorageDirectory()+"/android/data/spaj/spaj_foto.png";

                File file=new File(sdCard);

                if(file.exists())
                    file.delete();

                Uri outputFileUri = Uri.fromFile(file); 

                Intent cameraIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); 
                cameraIntent.putExtra(MediaStore.EXTRA_OUTPUT, outputFileUri);

                startActivityForResult(cameraIntent, 0);
        }

            @Override
        protected void onActivityResult(int requestCode, int resultCode, Intent data) {
            super.onActivityResult(requestCode, resultCode, data);
        if (requestCode == 0 && resultCode == RESULT_OK) {
                Bitmap photo = (Bitmap) data.getExtras().get("data"); 
                image_spaj.setImageBitmap(photo);
            }

我不知道我的错在哪里,我希望有人可以帮我解决我的问题,谢谢

2 个答案:

答案 0 :(得分:1)

您应该确保输出目录存在。

编辑:删除虚假评论: - )

确保目录存在:

File dir = file.getParentFile();
dir.mkdirs();

要显示图像,以下是几个不错的资源:

How can I display image in Android Application
Displaying simple bitmap on Android列出了其他资源,
教程Displaying Bitmaps in Your UI

答案 1 :(得分:0)

首先确保目录存在,然后 试试这个:

将路径更改为

String sdCard= Environment.getExternalStorageDirectory()+"/Android/data/spaj/spaj_foto.png"

'Android'而不是'android'