所以我的问题是如何从本地存储文件夹加载图像而不管图像的名称是什么?
这就是我现在所拥有的:
File file = new File(Environment.getExternalStorageDirectory().getPath() +
"/Download/pictures/for/" + String.valueOf(rand.nextInt(4) + 1) + ".jpg");
正如您所看到的那样,问题在于解决方案是错误的并且硬编码的方式是它只加载名称从1到5的图片(例如3.jpg)。
亲切的问候!答案 0 :(得分:1)
您可以检索目录中的文件列表,然后从此列表中选择一个随机项:
File rootDir = new File(Environment.getExternalStorageDirectory().getPath() + "/Download/pictures/for/");
File files[] = rootDir.listFiles(new FilenameFilter() {
@Override
public boolean accept(File dir, String name) {
return name.toLowerCase().endsWith(".jpg");
}
});
File image = files[new Random().nextInt(files.length)];