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);
}
}