Как загрузить файл XML из папки ресурсов Android по имени - PullRequest
1 голос
/ 18 февраля 2011

Я пытаюсь загрузить файл XML, расположенный в папке / assets проекта Android по имени, используя этот метод:

getAssets().openXmlResourceParser("thefilename.xml");

Однако выполнение этого кода всегда вызывает исключение «FileNotFound», даже если файл находится в папке / assets и имеет правильное имя файла. Теперь я не поместил файл в папку / res / xml, потому что мне действительно нужно иметь возможность: 1. редактировать файл прямо на самом устройстве и, самое главное, 2. добавлять новые xml-файлы в приложение без выпуска обновления, для облегчения пользовательских модификаций. Заранее спасибо.

1 Ответ

3 голосов
/ 18 февраля 2011

Я думаю, что вы ищете либо getAssets().open("thefilename.xml"), либо getAssets().openFd("thefilename.xml") в зависимости от конечного использования файла. Из ответа Дайан в этом посте вы можете видеть, что openXmlResourceParser() на самом деле не годится для получения доступа к файлам в каталоге assets /: http://goo.gl/2KfgT

Оттуда у вас будет поток, который вы можете передавать в SAXParser или делать все, что захотите.

Примечание. В упомянутых вами пунктах вы действительно не можете редактировать файлы непосредственно в ресурсах / или добавлять новые файлы в ресурсы / во время выполнения. Для этого вам нужно будет работать с файлами во внутренней или внешней памяти. Вы, наверное, уже знали это, но я подумал, что упомяну это.

Надеюсь, что поможет!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...