我已将/assets
的XML文件复制到我的应用程序数据文件夹(data/data/package.name/files/
)。我这样做是因为用户可以修改大量数据,我想将这些数据保存到内部存储器中,然后在重新启动应用程序时再次加载它。这一切都运行良好,使用Root Browser我可以看到XML文件已正确复制到数据目录。
现在我需要使用LayoutInflater
来扩充此XML文件。我该如何访问此文件?使用XmlResourceParser
或XmlPullParser
?
答案 0 :(得分:2)
您无法使用LayoutInflater
对该文件进行通知。首先,您只能扩充布局资源,而不是任意文件。其次,根据第一段中的描述,它首先不是布局文件。
如果要解析任意XML,请使用DOM,SAX或XmlPullParser
。
答案 1 :(得分:1)
目前无法使用LayoutInflater 运行时在纯XML文件上运行XmlPullParser。
解决方案可能是之前预处理XML文件。您必须以与Android SDK在构建时相同的方式压缩XML文件:
观看通货膨胀在很大程度上依赖于在构建时完成的XML文件的预处理
我想您必须调用XmlPullParser.setInput
来加载预处理的XML,然后将XmlPullParser传递给View.inflate
。我希望即使对于不在APK中的内容也可以做这种事情。
我对你能找到的任何解决方案都很感兴趣。如果您找到或创建原型,请告诉我!这将是为我的开源应用程序创建插件架构的决定性步骤。