如何将相机拍摄的照片保存到本地应用程序文件夹?

时间:2013-02-10 02:34:55

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

如何将图片保存到应用内的文件夹?我想最终允许用户拍照并上传,并允许其他人“评价”。我是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){

             }

        }

3 个答案:

答案 0 :(得分:0)

您是否尝试将其保存在其他地方然后尝试移动它?

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

您显然已经拥有足够的技能来重新定位该可执行文件中的文件。

很抱歉,如果我对整个stackoverflow社区的全新帮助不大。

希望我帮助过你!

答案 1 :(得分:0)

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

答案 2 :(得分:0)

使用这段代码。解释是在代码之后

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