Работа с активами

Работа с активами

В Android имеется еще один каталог, где можно хранить файлы, включаемые в пакет — /assets. Он находится на том же уровне, что и /res, т.е. не является подкаталогом /res. Для таких файлов идентификаторы в R.java не генерируются; для их чтения должны быть указаны пути к файлам. Путь к файлу задается относительно каталога /assets. Для обращения к файлам используется класс AssetManager, как показано в листинге 3.34.

Листинг 3.34. Чтение из актива

// Внимание: в этом коде опущена обработка исключений! String getStringFromAssetFile(Activity activity)

{

AssetManager am = activity.getAssets(); InputStream is = am.open("test.txt"); String s = convertStreamToString(is); is.close(); return s;

}

Обзор структуры каталогов ресурсов

Листинг 3.35 содержит краткий обзор всей структуры каталогов ресурсов.

Листинг 3.35. Каталоги ресурсов

/res/values/strings.xml /colors.xml /dimens.xml /att rs . xml /styles.xml /drawable/.png

/.jpg /.gif /.9.png /anim/.xml /layout/.xml / raw/ .

/xml/.xml

/assets/./.

На заметку! Поскольку каталог /assets не находится в каталоге /res, только он может содержать произвольный список подкаталогов. Во всех других каталогах файлы могут находиться только на уровне этого каталога, но не глубже. На этом основании R.java генерирует идентификаторы для таких файлов.

Поделиться в соц. сетях

Опубликовать в Google Buzz
Опубликовать в Google Plus
Опубликовать в LiveJournal
Опубликовать в Мой Мир
Опубликовать в Одноклассники
Опубликовать в Яндекс

Добавить комментарий