我正在创建一个Android应用程序,但是为了使其中一个功能正常工作,我需要读取预定义的xml文件,同时只知道它的名字,而不是R.id ..
在普通的Java中,我知道我可以使用
getClass().getClassLoader().getResource(xmlName)
但是使用有限的Android SDK无法使用,任何人都知道如何解决这个问题?
答案 0 :(得分:2)
使用getResources().getIdentifier()
中的Context
(例如Activity
),但如果您将多次使用该结果,请将结果缓存。 getIdentifier()
已在Resources
上实施。
答案 1 :(得分:1)
来自Data Storage Section in the android developer manual:
如果在编译时有一个静态文件要与应用程序打包,则可以保存 项目中的文件在res / raw / myDataFile中,然后用它打开 Resources.openRawResource(R.raw.myDataFile)。它返回一个可以的InputStream对象 用来从文件中读取。