Низкоуровневые ресурсы
В дополнение к произвольным XML-файлам в Android можно использовать низкоуровневые (raw) файлы. Такие ресурсы содержатся в каталоге /res/raw, и к ним относятся аудио-, видео- и текстовые файлы, которые требуют локализации или ссылки через идентификаторы ресурсов. В отличие от XML-файлов, хранящихся в каталоге /res/xml, эти файлы не компилируются, а помещаются в пакет приложения в неизменном виде. Тем не менее, в R.java каждому такому файлу назначается идентификатор. Если имеется текстовый файл /res/raw/test.txt, то его можно прочитать с помощью кода, приведенного в листинге 3.33.
Листинг 3.33. Чтение низкоуровневого ресурса
String getStringFromRawFile(Activity activity) throws IOException {
Resources r = activity.getResources();
InputStream is = r.openRawResource(R.raw.test);
String myText = convertStreamToString(is);
is.close();
return myText;
}
String convertStreamToString(InputStream is) t hrows I OExce pt ion {
ByteArrayOutputStream baos = new ByteArrayOutputStream(); int i = is.read(); while (i != -1)
{
baos.write(i); i = is.read();
}
return baos.toString();
}
Внимание! В подключаемом модуле Edipse ADT имена файлов с одинаковым базовым именем приводят к возникновению ошибки сборки. Это случай генерации идентификаторов ресурсов на основе их имен файлов.
Добавить комментарий
Для отправки комментария вам необходимо авторизоваться.