我正在开发一个应用程序,该应用程序需要引用许多XML文件中的数据。该应用程序需要大量(约40个)XML文件。
该文件的名称类似于"异常标志v1.0.xml",我目前在中有它们
res/raw/v2/异常标志v1.0.xmlres/raw/v2/ActualDeliveryPlace-v1.0.xmlres/raw/v2/AddressType-v1.0.xml……
的一些问题
- 这是查找这些文件的最佳位置吗
- 文件名似乎有问题,这会引起问题吗
-
因为我必须动态地确定要使用哪个文件,所以我使用:
xmlFile = getApplicationContext().getResources().getIdentifier(xmlFileId,"raw","com.apps4health.refpack");
这找不到资源文件,哪里出错了?
考虑到文件名的格式,我建议您将其保存在assets
文件夹中。在res
文件夹中创建一个名为assets
的文件夹,并将XML文件放在那里。
下面的代码显示了如何打开assets
目录中的文件:
InputStream is = null;
try {
AssetManager am = getApplicationContext().getAssets();
is = am.open("AbnormalFlags-v1.0.xml");
// Process the XML file from "is"...
}catch( IOException e ) {
// Handle exception
}
AssetManager负责打开保存在res/assets
文件夹中的文件。您只需调用open()
方法,将文件名作为参数传递。