2011-04-11 64 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

相關問題