【问题标题】:How to save picture taken by camera to local application folder?如何将相机拍摄的照片保存到本地应用程序文件夹?
【发布时间】:2013-01-25 11:45:43
【问题描述】:

如何将图像保存到应用程序内的文件夹中?我希望最终允许用户拍照和上传,并允许其他人“评价它”。我是android新手,所以如果这是非常基本的,我很抱歉。这就是我到目前为止所拥有的。

public void onClick(View v) { // TODO 自动生成的方法存根

            Intent picture = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
            //MainActivity.this.startActivity(picture);

             startActivityForResult(picture, 1);
             onActivityResult(1, 1, picture){

             }

        }

【问题讨论】:

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


    【解决方案1】:

    使用这段代码。说明在代码后

    Intent getCameraImage = new Intent("android.media.action.IMAGE_CAPTURE");
    
    File cameraFolder;
    
    if (android.os.Environment.getExternalStorageState().equals(android.os.Environment.MEDIA_MOUNTED))
        cameraFolder = new File(android.os.Environment.getExternalStorageDirectory(),"YOUR_FOLDER_NAME/");
    else
        cameraFolder= StatusUpdate.this.getCacheDir();
    if(!cameraFolder.exists())
        cameraFolder.mkdirs();
    
    SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMdd'T'HHmmss");
    String timeStamp = dateFormat.format(new Date());
    String imageFileName = "picture_" + timeStamp + ".jpg";
    
    File photo = new File(Environment.getExternalStorageDirectory(), "YOUR_FOLDER_NAME/" + imageFileName);
    getCameraImage.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(photo));
    initialURI = Uri.fromFile(photo);
    
    startActivityForResult(getCameraImage, 1);
    

    这段代码的本质是:

    • 使用提供的名称创建一个文件夹 YOUR_FOLDER_NAME(根据您的方便更改)
    • picture_" + timeStamp + ".jpg 确保多个图像将 存储在您选择的文件夹中,每个文件夹都有一个新的时间戳。 当然,时间戳将是当前时间。
    • initialURI 是全局定义的,可帮助您处理图像 后来拍的。例如,在ImageView 中显示它

    【讨论】:

    • 如何阻止图片保存在常用相机图片文件夹中
    【解决方案2】:

    阅读本教程:http://developer.android.com/training/camera/photobasics.html 希望这会对你有所帮助..

    【讨论】:

    • 似乎很有帮助,我只是很难找到将我的“图像”文件夹实际放在哪一行。我觉得我错过了一些东西。
    【解决方案3】:

    您是否尝试过将其保存到别处然后尝试移动它?

    您可以编写一个文件,将其保存到其原始目录,然后自动移至您希望执行的目录。

    您显然已经具备在该可执行文件中重新定位文件的足够技能。

    对不起,如果我对整个 stackoverflow 社区的新人帮助不大。

    希望我能帮到你!

    【讨论】:

    • 我实际上根本不知道如何保存文件。我不确定如何处理 Result 活动。
    • 这是我正在开发的应用程序,如果您是这个意思?我还没有发布它。还有很长的路要走。
    • 好吧,它是一个将在网络上发布的应用程序,还是您只想与朋友等人一起使用的应用程序。因为如果您要将它发布到网络上,那么它会尝试为您调试一些内容并为您提供故障排除帮助,但如果它只是与您的朋友一起,那么我们就在同一条船上。
    • 我想最终发布它哈哈。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-10
    • 2013-04-03
    • 2014-09-04
    • 2012-11-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多