嗨我正在开发android画廊应用程序。我从SD卡中的文件夹获取的图像,并在网格视图中显示它下面列出SD卡中的所有图像。
public static ArrayList<String> getFilePaths()
{
ArrayList<String> filePaths = new ArrayList<String>();
File directory = new File(android.os.Environment.getExternalStorageDirectory() + File.separator + AppConstant.PHOTO_ALBUM);
// check for directory
if (directory.isDirectory())
{
// getting list of file paths
File[] listFiles = directory.listFiles();
// Check for count
if (listFiles.length > 0)
{
for (int i = 0; i < listFiles.length; i++)
{
String filePath = listFiles[i].getAbsolutePath();
if (IsSupportedFile(filePath))
{
// Add image path to array list
filePaths.add(filePath);
}
}
}
else
{
// image directory is empty
Toast.makeText(
_context,
AppConstant.PHOTO_ALBUM
+ " is empty. Please load some images in it !",
Toast.LENGTH_LONG).show();
}
}
return filePaths;
}
//fetching all image paths
imagePaths = utils.getFilePaths();
adapter = new GridViewImageAdapter(GridViewActivity.this, imagePaths, columnWidth);
// setting grid view adapter
gridView.setAdapter(adapter);
我想不仅在指定的文件夹,显示所有从SD卡图像。我不知道该怎么做。
请帮忙。谢谢!
您只能使用URI而不是文件路径。其更好的方法来从SD卡中获取图像 –
http://mobilecomputing650003.wordpress.com/2013/10/15/mediastore-content-provider-to-retrieve-images-from-sdcard-and-displaying-in-gridview/ 。检查它是否有帮助 – Raghunandan
更改为'File directory = Environment.getExternalStorageDirectory();'。我认为这应该工作。 –