2011-04-11 63 views
1

我有一个应用程序可以从Web中获取XML,并将其缓存在本地。由于解析XML比解析Android二进制XML昂贵,我想将本地副本存储为Android二进制XML。我没有发现用于即时创建Android二进制XML的API,只有AAPT使用的C/C++代码。如何从Android应用程序编写Android二进制XML?

我采取这种方法的动机是,我目前不使用所有的XML值/属性,但可能希望在我的应用程序的未来版本中使用更多这些值,并且不希望将所有XML数据。

有人能指点我的API的正确位来创建Android二进制XML在运行时?

非常感谢,

菲尔Lello

回答

2

的Android二进制XML是更快,因为它是由编译器优化。在运行时,如果没有编译器的实现为您执行,则无法创建二进制XML。

+0

我很害怕这个。我会研究一个然后 - 可能将aapt代码移动到一个lib并包装在JNI – 2011-04-11 16:42:05

+0

我不确定它甚至可以在这种情况下工作。为了使它针对您的应用程序进行优化,它必须是您的软件包的一部分。这将是主题在我脑海中的地方,但我很确定底层操作系统不会让你写入捆绑软件。 – James 2011-04-11 16:51:46

+0

我认为它应该工作,但我绝不肯定。我希望XmlPullParser能够处理任意的二进制XML文件 - 在二进制XML中使用的优化来自于结构的字符串表和WBXML-esque标记。 – 2011-04-11 20:37:54

相关问题