如何从资产和/或资源文件夹中在Android中创建一堆资源?

时间:2012-04-01 06:18:25

标签: java android resources stack assets

我在这里阅读了the thread有关从Android中的AssetManager创建一堆资源的信息。

“从AssetManager创建一堆资源是什么意思?”我必须使用:

Stack stack = new Stack();
stack.push(this.getAssets());

还是什么?如果有人可以给出提示,我很感激。如果问题不够具体,请在评论中发帖,我会改进这个问题。提前谢谢。

1 个答案:

答案 0 :(得分:2)

Stack只是Objects的集合,与数组,ArrayList,Collection等相同。

使用堆栈的好处是,您可以简单地将push(Object o)对象添加到堆栈中,以便将它们添加到集合中,并且当您想要将它们取回时,将pop()对象从堆栈中移除。堆栈可以增长到任何大小。

您可能需要做这样的事情......

Stack stack = new Stack();
AssetManager assets = this.getAssets();
String[] assetLocations = assets.list();

for (int i=0;i<assetLocations.length;i++){
    byte[] asset = loadAssetFromStream(assetLocations[i]); // you need to write this
    stack.push(asset);
}

AssetManager有一个open()方法来读取资产 - 您可能需要将每个资产读入内存(如byte[]数组或实际Object)然后推送每个对象进入堆栈。

有关详细信息,请参阅http://developer.android.com/reference/android/content/res/AssetManager.html