Где разместить XML файл, содержащий данные в приложении для Android

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

Ответ 1

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

Кроме того, существует разница между assets и res -directory's:

Рез

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

активы

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

Ответ 2

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

getResources().openRawResource(resourceName)

Ответ 3

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

  • res/raw/

  • 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);
}

Второй вариант:

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

с этим вы можете прочитать xml, используя парсер, основанный на событиях.