我正在开发一个Android应用程序,并尝试集成Bluemix服务 - Personality Insights。但是,由于与日期冲突(Bluemix服务假设包含符号'X'的Java SimpleDateFormat,而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
答案 0 :(得分:0)
我们正在使用&#39; X&#39; Android中的jdk 1.6不支持 该问题已在v1.1.1中修复。
的Maven:
<dependency>
<groupId>com.ibm.watson.developer_cloud</groupId>
<artifactId>java-wrapper</artifactId>
<version>1.1.1</version>
</dependency>
摇篮:
'com.ibm.watson.developer_cloud:java-wrapper:1.1.1'