【发布时间】:2011-10-07 15:20:36
【问题描述】:
我想展示一个图片库。问题出在加载它们的过程中。
一开始,我正在加载图片:
images = new File("/sdcard/DCIM/Camera/");
if(images.listFiles().length==0)
//no images, do some other stuff...
else
//put images in the gallery and do some stuff
此代码适用于模拟器(Android 2.2 - API 级别 8)和三星 Galaxy S2(Android 2.2.1)。但是我请一些朋友用他们自己的手机(HTC,LG......)测试这个代码。
对于 HTC Desire,在加载过程中出现问题。代码进入“//无图像”,但相册中有图像(例如来自相机......)我的朋友对我说:
相册存储在内部存储器中,而不是存储在 HTC 的 SD 卡中。
所以我尝试检查其他目录,如下所示:
//Get the internal content
images = new File(MediaStore.Images.Media.INTERNAL_CONTENT_URI.getPath());
if (!images.isDirectory()) {
//Get the external content
images = new File(MediaStore.Images.Media.EXTERNAL_CONTENT_URI.getPath());
}
if (!images.isDirectory()) {
//Get the SD Card content
images = new File("/sdcard/DCIM/Camera/");
}
但还是不行 :( 那不是好目录 :/
所以,我的问题是:我怎样才能获得所有 android 手机的图像的好路径?他们是一个能够返回专辑路径的对象吗?
谢谢:)
(有错误请见谅)
【问题讨论】:
-
在我的 HTC Ddesire 标准相机应用程序中的照片存储在:
/sdcard/DCIM/100MEDIA/,来自 Camera360 应用程序的照片在/sdcard/DCIM/Camera/。
标签: android path gallery loading