我在这里阅读了the thread有关从Android中的AssetManager创建一堆资源的信息。
“从AssetManager创建一堆资源是什么意思?”我必须使用:
Stack stack = new Stack();
stack.push(this.getAssets());
还是什么?如果有人可以给出提示,我很感激。如果问题不够具体,请在评论中发帖,我会改进这个问题。提前谢谢。
答案 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