Работа с активами
В 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 генерирует идентификаторы для таких файлов.
Добавить комментарий
Для отправки комментария вам необходимо авторизоваться.