在android中保存和检索图像的问题?

时间:2012-02-24 11:08:17

标签: android image canvas save

我有一个使用canvas功能的应用程序,我想保存并检索所有图像(无论我保存什么)。?

问题

我只能保存和检索单张图片

动态保存图像,(image001,image002 ......)

更新

   try {
                toDisk.compress(Bitmap.CompressFormat.JPEG, 100, new FileOutputStream(new File("/mnt/sdcard/image00"+saveimageid+".jpg")));
                saveimageid++;
            } catch (FileNotFoundException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }

我从image001中检索图像。

File imgFile = new  File("/mnt/sdcard/image001.jpg");
if(imgFile.exists()){

    Bitmap myBitmap = BitmapFactory.decodeFile(imgFile.getAbsolutePath());

    ImageView myImage = (ImageView) findViewById(R.id.ImageView01);
    myImage.setImageBitmap(myBitmap);

1 个答案:

答案 0 :(得分:1)

我猜你要加载所有匹配imageXYZ.jpg的文件。

我不知道为什么要保存像“00”+ saveimageid +“。jpg这样的文件。 如果你想确保文件名同样长(或至少三个位置)做类似的事情

new File(String.format("/mnt/sdcard/image%03d.jpg", saveimageId))

要检索您可能

的文件
File dir = new File("/mnt/sdcard/");
File[] images = dir.listFiles(new FilenameFilter() {
     @Override
     public boolean accept(final File dir, final String filename) {
         return filename.matches("image[0-9]+\\.jpg");
     }
});

然后您可以随意使用images数组。

作为旁注:如果这是Android,您不应该假设外部存储放在/ mnt / sdcard中。使用Environment.getExternalStorageDirectory()