我正在创建一个Android应用程序,但为了有一个功能工作,我需要读取预定义的XML文件,而只知道它的名称,而不是R.id ..如何在'包中,在Android应用程序中获取文件
普通Java我知道我可以使用
getClass().getClassLoader().getResource(xmlName)
但使用Android的SDK那不是工作,任何知道如何解决这个问题?
我正在创建一个Android应用程序,但为了有一个功能工作,我需要读取预定义的XML文件,而只知道它的名称,而不是R.id ..如何在'包中,在Android应用程序中获取文件
普通Java我知道我可以使用
getClass().getClassLoader().getResource(xmlName)
但使用Android的SDK那不是工作,任何知道如何解决这个问题?
使用getResources().getIdentifier()
从Context
(例如,Activity
),但请缓存结果,如果你会使用一次以上。 getIdentifier()
在Resources
上实施。
从Data Storage Section in the android developer manual:
如果你有一个静态文件打包与您在编译时应用程序,你可以保存 文件在资源项目/生/ myDataFile,然后打开它 Resources.openRawResource(R.raw.myDataFile)。它返回一个InputStream对象,您可以使用 从文件读取。
海报表明问题是没有R.raw.myDataFile可用。 – CommonsWare 2009-10-14 20:33:53
你的意思是你试图从jar文件本身读取它吗? – Petriborg 2009-10-14 20:12:45
嗯,在这个例子中.apk – Thys 2009-10-14 20:16:42