2012-08-04 60 views
1

我正在开发一个应用程序,需要引用大量XML文件中的数据。应用程序需要很多(〜40)个XML文件。Android包含XML文件=放置它们的位置

文件有名称,如 “AbnormalFlags-v1.0.xml” 我现在让他们位于

RES /生/ V2/AbnormalFlags-v1.0.xml RES /生/ V2 /ActualDeliveryPlace-v1.0.xml RES /生/ V2 /地址类型,v1.0.xml ......

了一些问题

  • 这是在最好的地方找到这些文件?
  • 的文件名似乎是一个问题,是否会导致问题
  • 因为我必须动态地确定要使用的文件,我用的是:

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

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

回答

0

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