图灵语义理解

public class MainActivity extends Activity {

 //申请的图灵的secret
    private static final String TURING_SECRET = "0e69e6b11699b1**";(自己在图灵官网申请)
    //申请的图灵的appkey
    private static final String TURING_APIKEY = "e7737e189a274459aae35587fef2dd**";(自己在图灵官网申请)

 private EditText etInput;

 private TextView tvShowInfo;

 public final int speech_start=0;  //开始说话
    public final int recognize_result=1; //识别结果
    public final int recognize_start=2;  //开始识别
    /** 返回结果url,开始说话 */
    public final int speech_start_url = 3;
    /** 返回结果detailurl,开始说话 */
    public final int speech_start_listdetailurl = 4;
    private Handler myHandler=new Handler(){
        @Override
        public void handleMessage(Message msg) {
            switch (msg.what){
                case speech_start:
                    Log.d("TAG","cccc____1speech_start--->>??");
                    //ttsManager.startTTS((String) msg.obj);
                    speechSynthesizer.startSpeaking((String)msg.obj,mSynListener);
                    tvShowInfo.setText("开始讲话:"+(String)msg.obj);
                    break;
                case recognize_result:
                    Log.d("TAG","cccc____2recognize_result--->>");
                    tvShowInfo.setText("识别结果:"+msg.obj);
                    break;
                case speech_start_url:
                    Log.d("TAG","cccc____4speech_start_url--->>");
                    webView.loadUrl((String) msg.obj);
                    break;
                case recognize_start:
                    Log.d("TAG","cccc____3recognize_start--->>");
                    tvShowInfo.setText("开始识别");
                    break;
                case speech_start_listdetailurl:
                    Log.d("TAG","cccc____5speech_start_url--->>");
                    webView.loadUrl((String) msg.obj);
                    break;
                default:
                    break;
            }
        };
    };
    private WebView webView;

@Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

       etInput= (TextView) findViewById(R.id.et_ShowInfo); 

       tvShowInfo = (TextView) findViewById(R.id.tv_ShowInfo);

        webView = (WebView) findViewById(R.id.webView_MainActivity);


        WebSettings settings = webView.getSettings();
        settings.setJavaScriptEnabled(true);
        settings.setSupportZoom(true);
        webView.setWebViewClient(new WebViewClient(){
            @Override
            public boolean shouldOverrideUrlLoading(WebView view, String url) {
                view.loadUrl(url);
                return true;
            }
        });
        inits();

}

  private void inits(){

   //图灵turingSDK初始化====================
        SDKInitBuilder builder = new SDKInitBuilder(this)
               .setSecret(TURING_SECRET).setTuringKey(TURING_APIKEY).setUniqueId(UNIQUEID);
        SDKInit.init(builder,new InitListener() {
            @Override
            public void onFail(String error) {
                Log.d("TAG","cccc 5onFail--->>"+error);
            }
            @Override
            public void onComplete() {
                Log.d("TAG","cccc 6onComplete()--->>");
                // 获取userid成功后,才可以请求Turing服务器,需要请求必须在此回调成功,才可正确请求
                mTuringApiManager = new TuringApiManager(MainActivity.this);
                mTuringApiManager.setHttpListener(myHttpConnectionListener);
            }
        });

}

     //图灵语义理解监听器
    HttpConnectionListener myHttpConnectionListener = new HttpConnectionListener() {

        @Override
        public void onSuccess(RequestResult result) {
            String texts=null;
            if (result != null) {
                try {
                    Log.d("TAG","cccc 7()() result--->>> "+result.getContent().toString());
                    JSONObject result_obj = new JSONObject(result.getContent()
                            .toString());

                  //显示文本
                    if (result_obj.has("text")) {
                        webView.clearHistory();
                        Log.d("TAG","cccc 8pppp---text>> "+result_obj.get("text").toString());
                        texts = result_obj.get("text").toString();
                        myHandler.obtainMessage(speech_start,
                                texts).sendToTarget();
                        Log.d("TAG","cccc 9texts--==> "+texts.toString());
                    }

               //显示Url
                    if (result_obj.has("url")) {
                        String url = (String) result_obj.get("url");
                        Log.d("TAG","cccc 8pppp---url>> "+url.toString());
                        myHandler.obtainMessage(speech_start_url,
                                url).sendToTarget();
                    }

//解析集合list,list里面可能含有url
                    if (result_obj.has("list")) {
                        JSONArray list = (JSONArray)result_obj.get("list");
                        JSONObject obj = (JSONObject)list.get(0);
                        if(obj.has("detailurl")){
                            String detailurl = (String) obj.get("detailurl");
                            myHandler.obtainMessage(speech_start_listdetailurl,
                                    detailurl).sendToTarget();
                        }
                    }
                } catch (JSONException e) {
                    Log.d("TAG", "ccccc 10JSONException:" + e.getMessage());
                }
            }
        }
        @Override
        public void onError(ErrorMessage errorMessage) {
            Log.d("TAG", errorMessage.getMessage());
            Log.d("TAG","onError---11>==="+errorMessage.getMessage());
        }
    };

public void doGet(View view){

String result=etInput.getText().toString();

//关键之处

 mTuringApiManager.requestTuringAPI(result);

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值