Какой лучший способ хранить и получить доступ к XML в Android?
Вопрос
Пока я реализую сами ресурсы, определяются в файлах XML, если у меня есть файл XML из моего собственного типа, который я хочу использовать, я должен хранить их в «RES / XML»?
Есть ли лучший способ сделать это, например, использование активов, а затем загрузка их в качестве двоичного файла для анализа другой библиотеки XML?
Решение
Я бы пошел с добавлением ресурса XML внутри res
папка с конкретным типом ресурса. Его конвенция, которую я приспособился к, имея все мои файлы в том же каталоге для организации.
Если вы добавите свой XML-файл внутри res/xml
Это может быть доступно в любое время во время выполнения через Resources.getXML()
Другие советы
Если вы предпочитаете легкость кодирования на молнии быструю скорость, то я бы использовал Простая библиотека XML вместо. Для программирования просто проще. Я написал сообщение в блоге, который вы можете просмотреть, что объясняет Как включить его в проект ваш.
Сначала зная, как правильно получить файлы доступа в Android:
Вам может потребоваться доступ к своим оригинальным файлам и каталогам. Если вы сделаете, то сохраните файлы в res/
не будет работать для вас, потому что only way to read a resource from res/ is with the resource ID
. Отказ Вместо этого вы можете сохранить свои ресурсы в каталоге Assets /.
Файлы, сохраненные в каталоге / каталоге / ресурса, не дают идентификатор ресурса, поэтому вы не можете ссылаться на них через класс R или из ресурсов XML. Вместо этого вы можете запросить файлы в каталоге / каталоге / для обычной файловой системы, и читать необработанные данные с помощью AssetManager.
Однако, если все, что вам требуется, это возможность читать необработанные данные (например, видео или аудиофайл), а затем сохранить файл в каталоге RES / RAW / RAW / READ и прочитайте поток байтов с помощью OpenRawResource ().
Доступ к файлам XML
http://developer.android.com/guide/topics/resources/accessing-resources.html#Resourcesfromxml.
res/xml/
Arbitrary XML files that can be read at runtime by calling Resources.getXML()
Resources res = activity.getResources();
XmlResourceParser xrp = res.getXml(R.xml.the_file_name_aka_resource_ID);