我正在开发一个 android 应用程序并尝试集成 Bluemix 服务 - Personality Insights。但是,由于日期冲突(Bluemix 服务假定 Java SimpleDateFormat 包含符号“X”,而 Android 的 SimpleDateFormat 不包含此符号)导致错误(下面的日志)。我的问题是,有没有办法强制应用程序使用 Java SimpleDateFormat 版本而不是 Android 版本?除此之外,我看不出如何在不切换 Bluemix 以适应日期中的“X”字符的情况下使用该服务。对此主题的任何启发将不胜感激!
日志:
Caused by: java.lang.IllegalArgumentException: Unknown pattern character 'X'
at java.text.SimpleDateFormat.validatePatternCharacter(SimpleDateFormat.java:314)
at java.text.SimpleDateFormat.validatePattern(SimpleDateFormat.java:303)
at java.text.SimpleDateFormat.<init>(SimpleDateFormat.java:356)
at com.google.gson.DefaultDateTypeAdapter.<init>(DefaultDateTypeAdapter.java:49)
at com.google.gson.GsonBuilder.addTypeAdaptersForDate(GsonBuilder.java:555)
at com.google.gson.GsonBuilder.create(GsonBuilder.java:543)
at com.ibm.watson.developer_cloud.util.GsonSingleton.createGson(GsonSingleton.java:53)
at com.ibm.watson.developer_cloud.util.GsonSingleton.getGson(GsonSingleton.java:38)
at com.ibm.watson.developer_cloud.concept_expansion.v1.ConceptExpansion.createJob(ConceptExpansion.java:147)
at intercept.notification.notify.MainActivity$PlaceholderFragment$Persona.doInBackground(MainActivity.java:106)
at intercept.notification.notify.MainActivity$PlaceholderFragment$Persona.doInBackground(MainActivity.java:84)
我已经对此进行了很多调试,但不知道如何强行使用 Java 版本的 SimpleDataFormat 而不是 Android 版本。可以在此处看到两者之间的差异:Java(其中包括 Bluemix 服务所需的符号“X” - http://docs.oracle.com/javase/7/docs/api/java/text/SimpleDateFormat.html
Android(不包括它) - http://developer.android.com/reference/java/text/SimpleDateFormat.html