如何以相对方式访问包资源

时间:2011-04-03 09:17:05

标签: java android resources

这是初学者的问题。我刚开始用Java和Android开发这个问题。话虽如此,这是我的问题:

我正在尝试访问位于drawables文件夹中的多个位图,并将它们放在文件数组中。

我定义了一个字符串:

private String pathstring = "/res/drawable";

然后我定义一个文件变量来填充我的字符串中的信息:

File folder;
folder = new File(pathstring, "/");

实际获取数组我用listFiles读出了文件夹变量:

images = folder.listFiles();

现在这似乎不起作用。我很确定我在定义pathstring变量时的语法是错误的。我尝试了R.drawable和许多其他组合但没有用。

编辑:基本上我需要一种方法来访问我的res / drawables中的文件,就像我访问SD卡上的资源并将它们的名字放在文件数组变量中一样。

2 个答案:

答案 0 :(得分:0)

您在Android中访问资源的方式不是通过硬编码路径,而是应该使用R这样的类R.drawable.myimage

答案 1 :(得分:0)

如果你想要一个drawable数组,一种方法是:

private static final int[] imageIds = new int[]{
    R.drawable.image1,
    R.drawable.image2,
    ...};
private static final Drawable[] myImages = new Drawable[imageIds.length];
...
for (int i=0;i<imageIds.length;i++){
    myImages[i] = getResources().getDrawable(imageIds[i])
}

这是访问资源的更常用方式,而不是File数组。