在SD卡中添加多张图片

时间:2016-02-15 18:55:20

标签: java android image sd-card

我是应用开发的新手。我想开发一个可以在SD卡中保存多个图像的应用。在我做了几项研究之后,在youtube或这个页面上,没有人可以帮助我,也许我无法理解它们。例如,android take multiple image with camera。 这个页面只显示如何在数据库服务器中保存图像,但我需要它们在SD卡上。我的代码问题是,捕获的新图像将替换旧图像。这是我的代码。

Button button;
ImageView imageView;
static final int CAM_REQUEST = 1;


@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.capimg);
    button = (Button) findViewById(R.id.button);
    imageView = (ImageView) findViewById(R.id.image_view);
    button.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {


            Intent camera_intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
            Intent camera_intent2 = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
            File file = getFile();
            camera_intent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(file));
            startActivityForResult(camera_intent, CAM_REQUEST);


        }
    });


}

private File getFile() {
    File folder = new File("sdcard/UTP_app");
    if (!folder.exists()) {
        folder.mkdir();
    }

    File image_file = new File(folder, "cam_image.jpg");
    if (image_file.exists()) {
        return image_file;
    }
    File image_file2 = new File(folder, "cam_image2.jpg");
    if (image_file2.exists()) {
        return image_file2;
    }
    File image_file3 = new File(folder, "cam_image3.jpg");
    if (image_file3.exists()) {
        return image_file3;

    }


    return folder;
}

我希望我能改进。

1 个答案:

答案 0 :(得分:1)

每次更改相机意图的文件名。 例如,

private File getFile() {
    File folder = new File("sdcard/UTP_app");
    if (!folder.exists()) {
        folder.mkdir();
    }

    return new File(folder, new Date().getTime()+".jpg");
}