2011-10-27 57 views
4

我真的不明白這一點:它看起來像Android有XMLGregorianCalendar類,因爲它被記錄爲here。 但是,如果你繼續前進,並嘗試使用它,這就是你會得到什麼:即使有記錄,也不能在Android中使用XMLGregorianCalendar?

10-27 17:21:43.677: E/AndroidRuntime(14850): Caused by: javax.xml.datatype.DatatypeConfigurationException: Provider org.apache.xerces.jaxp.datatype.DatatypeFactoryImpl not found 
10-27 17:21:43.677: E/AndroidRuntime(14850): at javax.xml.datatype.DatatypeFactory.newInstance(DatatypeFactory.java:102) 

出現這種情況就行了:

DatatypeFactory datatype = DatatypeFactory.newInstance(); 

你猜怎麼着,它不應該這樣的表現,如記錄在官方Android Javadoc

這看起來像是關於Android的非常聰明的事情之一。你爲什麼要記錄一些無法使用的東西? 有沒有人有這個解決方案,可能不包括重新包裝?

+0

在其Android版本做到這一點會崩潰嗎? – Krylez

+0

Android 2.3.3 Nexus One上的薑餅。 – frapontillo

+0

那麼有這樣的想法。我會繼續尋找。 – Krylez

回答

6

它看起來就像它自從v8,no version of Android has ever shipped with an implementation以來一直在API中一樣。方便,對嗎?

一個解決方案是下載Xerces2 Java implementation jar並將其包含在項目的構建路徑中。

您的代碼將只是稍有不同:

DatatypeFactory datatype = DatatypeFactoryImpl.newInstance(); 
+0

這解決了我的問題。非常感謝你! :) – frapontillo

+1

不客氣。我學到了東西,所以謝謝。 – Krylez

+1

我已將xercesImpl.jar包含在我的構建路徑中,並將其複製到lib目錄,但仍然收到錯誤'由於:javax.xml.datatype.DatatypeConfigurationException:Provider org.apache.xerces.jaxp.datatype.DatatypeFactoryImpl not found '。還有什麼我應該做的,讓它工作? –

相關問題