Как создать стек ресурсов в Android из папок asset и / или res? - PullRequest
0 голосов
/ 01 апреля 2012

Вот поток , который я читал о создании стека ресурсов из AssetManager в Android.

Что означает «создание стека ресурсов из AssetManager?» Должен ли я использовать:

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

Или что-то? Если кто-то может дать подсказки, я ценю это. Если вопрос недостаточно конкретен, пожалуйста, напишите об этом в комментариях, и я улучшу вопрос. Заранее спасибо.

1 Ответ

2 голосов
/ 01 апреля 2012

Stack - это просто набор объектов, такой же, как массив, ArrayList, Collection и т. Д.

Преимущество использования стека состоит в том, что вы можете просто push(Object o) объекты в Stack длядобавьте их в коллекцию и 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

...