当前位置: 首页 > 知识库问答 >
问题:

从Android连接到IBM Watson对话API时出现未知模式字符“X”异常

彭海阳
2023-03-14

我正在Android上使用一些聊天机器人应用程序。以前一切都很好。但以前工作的同一个应用程序现在显示了一个错误。“未知模式字符‘X’”。不知道我做错了什么。我花了很多时间想找到这个bug,但失败了。我在这里附上我的代码。。

package com.example.rove2.conversation;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;

import com.ibm.watson.developer_cloud.conversation.v1.ConversationService;
import com.ibm.watson.developer_cloud.conversation.v1.model.MessageRequest;
import com.ibm.watson.developer_cloud.conversation.v1.model.MessageResponse;

import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;

public class MainActivity extends AppCompatActivity {
String conversation_username;
String  conversation_password;
String workspace_id;
Button sendbtn,clearbtn,jsonbtn;
EditText input,json;
String JsonString="";

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    conversation_username = "c9d2fd27-0868-4e56-b3ae-66b76d2b52b4";
    conversation_password = "DYLntDWRvf12";
    workspace_id="cbb7fc4d-c216-4a81-ae70-445d6fa9dab9";
    sendbtn=(Button)findViewById(R.id.button);
    clearbtn=(Button)findViewById(R.id.button2);
    input = (EditText)findViewById(R.id.editText);
    json =(EditText)findViewById(R.id.editText2);
    jsonbtn=(Button)findViewById(R.id.button3);
}
String sendtoWatson(String message)
{
    ConversationService service = new 
ConversationService(ConversationService.VERSION_DATE_2017_02_03);
    service.setUsernameAndPassword(conversation_username, 
conversation_password);
    MessageRequest newMessage = new 
MessageRequest.Builder().inputText(message).build();
    MessageResponse response = service.message(workspace_id, 
newMessage).execute();
    String tx = response.toString();
    return  tx;
}
public void send(View view){
    Thread t=new Thread(){
        public void run() {
            String text = input.getText().toString();
            final String result = sendtoWatson(text);
            JsonString = result;
            runOnUiThread(new Runnable() {
                @Override
                public void run() {
                    try{
                        JSONObject reader = new JSONObject(result);
                        JSONObject output = reader.getJSONObject("output");
                        JSONArray Intent = output.getJSONArray("text");
                        String speechTxt=Intent.getString(0);
                        json.setText(speechTxt);

                    }
                    catch (JSONException e) {
                        e.printStackTrace();
                    }
                }
            });
        }};
    t.start();
}
public void clearbutn(View view){
    input.setText("");
    json.setText("");
}
public void jsonbtn(View view){
    json.setText(JsonString);
}
}

错误发生在线路上

MessageResponse response=service.message(workspace_id,newMessage).execute();

我可以在Android应用程序的BlueMix服务错误中找到类似问题的答案-'未知模式字符'X"但我无法理解解决方案,我的android Studio版本是2.1.2,JDK版本是8。请帮助...

共有1个答案

陆栋
2023-03-14

这是一个已知的问题,已经修复,但尚未发布给maven。如果您查看存储库中的自述文件,其中有关于在我们等待< code>3.8.1时如何使用快照版本的说明。

 类似资料:
  • 05-23 15:14:05.398 251 57-25157/com.abhishek.SpeechTotExtApp w/ART:execv失败(/system/bin/dex2Oat--runtime-arg-classpath--runtime-arg--debuggable--instruction-set-features=smp,div,atomic_ldrd_strd--runti

  • 问题内容: 我从网络上获取了日期字符串,然后我想将其切成对象。但是应用程序以某种方式崩溃。这是我正在解析的字符串: onStartCommand() stringToDate() LogCat: 编辑: onDestroy()为定期更新设置警报… 问题答案: 从中删除“ XXX” 一切都会正常。 浏览可在构造函数内使用的符号列表。尽管文档显示的是“ XXX”格式,但这在Android上不起作用,并

  • 我编写了一个示例Java客户端代码来连接到APNs服务器向我的设备发送推送通知。它在与APNs服务器的安全连接中失败了。有人能帮帮我吗?代码如下: 它在行处失败,出现以下错误:javax.net.ssl.sslhandShakeException:sun.security.validator.validatoreXception:在sun.security.ssl.alerts.getsslExc

  • 我编写了一个简单的应用程序,通过USB向连接到Android 4.0平板电脑的USB打印机发送命令。由于某些原因,我无法通过获取权限来声明接口和打开连接。以下是相关代码: 这是清单的相关部分: 我已将设备配置为,以便在连接打印机时启动我的应用,并在枚举期间找到该设备(onResume())并调用权限请求。但是,无论出于何种原因,我从未看到“请求权限”对话框(我在网上看过它的屏幕截图),也不会调用o

  • 原因:组件组织。neo4j。内核impl。交易XaDataSourceManager@2a792260'已成功初始化,但无法启动。请参阅随附的原因例外。 CausedBy:组件org.neo4j.kernel.impl.nioneo.xa.NeoStoreXaDataSource@23d7c3d2已成功初始化,但无法启动。请参阅附件中的原因异常。 原因:没有架构索引提供程序组织。neo4j。内核应

  • 我正在开发一个Android应用程序,并试图集成Bluemix服务 - Personality Insights。但是,由于与日期冲突(Bluemix服务假设Java SimpleDateFormat包含符号“X”,而Android的SimpleDateFormat不包括此符号),导致错误(下面的日志)。我的问题是,有没有办法暴力破解应用程序使用Java SimpleDateFormat版本而不是