我正在尝试使用此方法按名称加载位于android项目的/ assets文件夹中的xml文件:
getAssets().openXmlResourceParser("thefilename.xml");
但是,执行此代码始终会抛出“FileNotFound”异常,即使该文件位于/ assets文件夹中并且具有正确的文件名。 现在,我还没有将文件放在/ res / xml文件夹中,因为我真的需要能够1.在设备上编辑文件,最重要的是2.将新的xml文件添加到应用程序而不发布更新,允许简单的用户修改。 提前谢谢。
答案 0 :(得分:3)
我认为您要找的是getAssets().open("thefilename.xml")
或getAssets().openFd("thefilename.xml")
,具体取决于文件的最终用途。您可以在这篇文章中看到Dianne的回复,openXmlResourceParser()
仅仅是为了获取对assets /目录中文件的访问权限http://goo.gl/2KfgT
从那里你将有一个流可以提供给SAXParser或做你选择的其他任何事情。
附注:关于您提到的要点,您实际上无法直接在资产中编辑文件/或在运行时将新文件添加到资产/。您需要使用内部或外部存储上的文件来执行这些操作。你可能已经知道了,但我想我会提到它。
希望有帮助!