我有一个使用 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);
最佳答案
我猜你想加载所有匹配 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()
关于android - 在 android 中保存和检索图像的问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9429703/