1

我正在开发一个需要引用多个 XML 文件中的数据的应用程序。该应用程序需要很多 (~40) 个 XML 文件。

该文件的名称类似于“AbnormalFlags-v1.0.xml”,我目前将它们放在

res/raw/v2/AbnormalFlags-v1.0.xml res/raw/v2/ActualDeliveryPlace-v1.0.xml res/raw/v2/AddressType-v1.0.xml ... ...

几个问题

  • 这是找到这些文件的最佳位置吗?
  • 文件名似乎有问题,会导致问题吗
  • 因为我必须动态确定要使用的文件,所以我使用:

    xmlFile = getApplicationContext().getResources().getIdentifier(xmlFileId,"raw","com.apps4health.refpack");

这找不到资源文件,我哪里出错了?

4

1 回答 1

0

鉴于文件名的格式,我建议您将它们保存在assets文件夹中。assets在文件夹内创建一个名为的res文件夹并将 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()文件名作为参数传递的方法。

于 2012-08-04T23:47:57.367 回答