图灵机器人SDK接入指南
图灵机器人:官网
注册账号
注册个账号,创建个应用,进入后台,点开机器人接入,你会看到API key
和secret
下载SDK
点击下载Android SDK,解压以后会有libs
copy到自己的工程
加入权限
如果用API接入,应该只用网络权限就行了把,官方要求下面这几个权限,时间紧迫,我也没有一一去验证,直接加上把。
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_CONTACTS" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
添加jar
将下载的SDK里的libs目录下的jar和so都导入工程
想不明白,为什么Demo还在使用Eclipse,是Demo没有更新,还是工程师……
图灵SDK初始化
// turingSDK初始化
SDKInitBuilder builder = new SDKInitBuilder(this).setSecret(`这里填写secret`).setTuringKey(`这里填写API Key`).setUniqueId(`这里填写自己添加的一个标示符,如邮箱、 手机号等等`);
SDKInit.init(builder, new InitListener() {
@Override
public void onFail(String error) {
Log.d(TAG, error);
}
@Override
public void onComplete() {
// 获取userid成功后,才可以请求Turing服务器,需要请求必须在此回调成功,才可正确请求
mTuringApiManager = new TuringApiManager(MainActivity.this);
mTuringApiManager.setHttpListener(myHttpConnectionListener);
}
});
图灵网络请求回调
/**
* 网络请求回调
*/
HttpConnectionListener myHttpConnectionListener = new HttpConnectionListener() {
@Override
public void onSuccess(RequestResult result) {
if (result != null) {
try {
Log.d(TAG, result.getContent().toString());
mTv2.setText(result.getContent().toString());
JSONObject result_obj = new JSONObject(result.getContent().toString());
if (result_obj.has("text")) {
Log.d(TAG, result_obj.get("text").toString());
// 科大讯飞语音合成
mBitMainSpeechCompound.speaking(result_obj.get("text").toString());
}
} catch (JSONException e) {
Log.d(TAG, "JSONException:" + e.getMessage());
}
}
}
@Override
public void onError(ErrorMessage errorMessage) {
Log.d(TAG, errorMessage.getMessage());
}
};
图灵解析
mTuringApiManager.requestTuringAPI(data);
Demo
Demo只是简单的使用了下图灵SDK,没有使用任何设计模式,可以作为参考
GitHub:TuringSDK