如何使通用图像加载器动态地从SD卡中获取图像

时间:2013-06-12 03:12:39

标签: java android universal-image-loader image-viewer

我从这里得到一个例子 https://github.com/nostra13/Android-Universal-Image-Loader

在Constants.java中用于图像源链接。我想要的是扫描SD卡中的特定文件夹,然后动态获取所有图像URL。

不是逐个输入图片网址。 不是这种类型一个接一个。 ---> “file:/// sdcard / Universal Image Loader @#& = + -_。,!()〜'%20.png”

这是我的代码。但它无法奏效。对此有何解决方案?感谢。

公共类常量{

private String[] mFileStrings;
private File[] listFile;   
static List<String> test = new ArrayList<String>();


public void getFromSdcard()
{
    System.out.println("testing here can");
   File file= new File(android.os.Environment.getExternalStorageDirectory(),"file:///sdcard/bluetooth/"); //sdcard/bluetooth

        if (file.isDirectory())//if files is directory
        {

            listFile = file.listFiles();
            mFileStrings = new String[listFile.length];

            for (int i = 0; i < listFile.length; i++)
            {
                mFileStrings[i] = listFile[i].getAbsolutePath();//mFileStrings with uri of images
                test.add(listFile[i].getAbsolutePath());

            }

        }

}


static String simpleArray = test.toString();

//String img = mFileStrings.toString();
public static final String[] IMAGES = new String[] {simpleArray};


private Constants() {
}

1 个答案:

答案 0 :(得分:2)

要从SD卡获取图像,请使用以下代码。

String fileName= listFile[i];
fileName = fileName.replace(':', '/');
fileName = fileName.replace('/', '_');
String loadURL="file://"+Environment.getExternalStorageDirectory()+"/"+folder+"/"+fileName;

现在,您在“loadURL”中拥有图像的绝对路径。

if (file.isDirectory())//if files is directory
{
    listFile = file.listFiles();
    mFileStrings = new String[listFile.length];

    for (int i = 0; i < listFile.length; i++)
    {
         String fileName=listFile[i]; 
         fileName = fileName.replace(':', '/');
         fileName = fileName.replace('/', '_');
         String loadURL="file://"+Environment.getExternalStorageDirectory()+"/"+folder+"/"+fileName;
         test.add(loadURL);
    }
 }