Где разместить файл XML, содержащий данные, в приложении Android - PullRequest
15 голосов
/ 19 мая 2011

Я новичок в разработке Android. У меня есть файл XML с данными, которые приложение будет читать. Где я должен хранить этот XML-файл? Должен ли он храниться в папке «value»?

Ответы [ 3 ]

27 голосов
/ 19 мая 2011

Я бы сказал, что зависит. Что вы сохраняете в своем XML-файле? Также есть папка res/xml, в которой можно хранить XML-файлы. Но Android почти ничего не делает с XML-файлами, так что вы можете прочитать мой небольшой учебник о том, куда поместить, какие ресурсы.

Кроме того, существует разница между каталогами assets и res:

1010 * Рез * Подкаталоги не разрешены в конкретные ресурсы-папки. Класс R индексирует все ресурсы и обеспечивает простой доступ. Есть несколько простых методов, которые помочь с чтением файлов, хранящихся в res -directory активы

  • Подкаталоги разрешены (столько, сколько тебе нравится).
  • Нет индексации по R -классу
  • Ресурсы для чтения, хранящиеся в assets выполняется с помощью AssetManager .
5 голосов
/ 19 мая 2011

Вы можете поместить его в папку res / raw.Затем вы получите к нему доступ:

getResources().openRawResource(resourceName)
3 голосов
/ 08 марта 2015

У меня было похожее требование, и после долгих исследований я нашел 2 решения для размещения собственного XML: Вы можете разместить пользовательский XML в

  1. Res / Raw /

  2. res / xml /

Для доступа к этим местоположениям вы будете использовать следующий код:

а. если XML помещен в res / raw, тогда:

getResources (). OpenRawResource (R.raw.custom-xml) :

Это дает вам простые методы для чтения xml:

с кодом ниже Я читаю XML в памяти, помещенной в необработанную папку:


BufferedReader br = new BufferedReader(new InputStreamReader(getResources().openRawResource(R.raw.custom-xml)));

StringBuilder str = new StringBuilder();
String line;
while ( (line = br.readLine()) != null){
    str.append(line);
}

2-й вариант:

getResources (). OpenRawResource (R.xml.custom-xml);

с этим вы можете читать xml с помощью анализатора событий.

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