Я новичок в разработке Android. У меня есть файл XML с данными, которые приложение будет читать. Где я должен хранить этот XML файл? Должен ли он храниться в папке "значение"?
Где разместить XML файл, содержащий данные в приложении для Android
Ответ 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, используя парсер, основанный на событиях.