【发布时间】:2015-10-18 16:28:51
【问题描述】:
我正在开发一个 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
【问题讨论】:
-
您似乎将 Bluemix 与 Watson 混淆了。 Bluemix 是托管您的 Android 应用程序的平台。 Watson 是您尝试使用的服务 (Personality Insights)。看看 Watson Developer Cloud:ibm.com/smarterplanet/us/en/ibmwatson/developercloud
标签: java android simpledateformat ibm-watson personality-insights