2011-10-27 81 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 '。还有什么我应该做的,让它工作? –

相关问题