文档章节

智能聊天机器人之图灵机器人

abcijkxyz
 abcijkxyz
发布于 2016/07/30 17:23
字数 787
阅读 91
收藏 2

今天从慕课网学习了图灵机器人的实现,感觉很有意思。视频地址:点击打开链接,因为视频是一年多以前的,现在图灵官网的api接口已经变了,所以视频仅作参考,本文是基于最新api讲解的。

无聊的时候可以找它陪你聊天,想想也挺有趣的,下面就看看具体的实现吧。

聊天功能的实现其实是借用了图灵机器人的第三方jar包,如果仅仅是实现聊天,几行代码就可以搞定了,所以重点其实是布局的实现。

要完成这个聊天机器人,大致需要这么几步:

1、需要到图灵机器人官网注册一个账号,这样在个人中心就可以看到你的API key和secret了,这两个信息代码里面会用到;

2、在个人中心可以设置机器人的一些信息,比如:年龄,爱好,地址等等。。。;

3、下载文档说明和SDK;

以上是准备工作,下面终于开始正式编码啦~

4、建立新的Android工程,并把下载的jar包导入工程(下载的jar包里面有android-support-v4.jar,而我使用的jdk本身包含有这个,所以不要导入这个,不然编译报错)

5、对图灵SDK进行初始化,如下:

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.i(TAG, "onFail() called with: " + "error = [" + error + "]");
	}

	@Override
	public void onComplete() {
		// 获取userid成功后,才可以请求Turing服务器,需要请求必须在此回调成功,才可正确请求
		mTuringApiManager = new TuringApiManager(MainActivity.this);
		mTuringApiManager.setHttpListener(myHttpConnectionListener);
	}
});

HttpConnectionListener myHttpConnectionListener = new HttpConnectionListener() {
	@Override
	public void onError(ErrorMessage errorMessage) {
		Log.i(TAG, "onError() errorMessage = " + errorMessage.getMessage() + " code = " + errorMessage.getCode());
		Toast.makeText(MainActivity.this, "请检查网络是否正常", Toast.LENGTH_SHORT).show();
	}

	@Override
	public void onSuccess(RequestResult requestResult) {
		if (requestResult != null) {
			Log.i(TAG, "onSuccess: " + requestResult.getContent().toString());
			try {
				JSONObject jsonObj = new JSONObject(requestResult.getContent().toString());
				if (jsonObj.has("text")){
					String result = jsonObj.get("text").toString(); //接收到的消息
					...
				}
			} catch (JSONException e) {
				e.printStackTrace();
			}
		}
	}
};

6、发送消息到服务器,接收消息的地方见上面代码,至此就完成了发送和接收消息的过程,有木有感觉很简单呢?

mTuringApiManager.requestTuringAPI(new String(sendMsg)); //发送消息

7、关键是需要注意下布局的实现,聊天展示使用的是ListView,根据消息是“接收过来的”还是“发送出去的”来动态加载不同的布局,因此需要准备两套布局,具体实现可以下载代码参考,这里就不详细展开了。

有几点需要说明下:

1、图灵机器人还提供了语音相关的接口,所以可以在此基础上完成语音聊天功能;

2、我的MainActivity是继承的AppCompatActivity,设置requestWindowFeature(Window.FEATURE_NO_TITLE);没有生效,解决办法有两个:一、继承Activity二、加上语句:getSupportActionBar().hide();

3、发送消息的布局视频中原本使用的是LinearLayout,这是有问题的,如果发送的消息太长,会挡住自己的头像,所以我改成了RelativeLayout,Linearlayout试了好几次均没有成功;

代码下载地址:点我下载吧

本文转载自:http://blog.csdn.net/wdong_love_cl/article/details/51440327

共有 人打赏支持
abcijkxyz
粉丝 63
博文 6196
码字总数 1876
作品 0
深圳
项目经理
私信 提问
使用图灵机器人快速开发智能聊天机器人

聊天机器人现在已经成为一个流行的话题,无论微信公共帐号,还是qq聊天机器人,可以智能交互聊天的机器人帐号越来越多,相信很多开发人员也想自己实现这样一个好玩的智能聊天机器人。 下面就...

maolv11
06/28
0
0
图灵机器人人工智能服务再次升级

  图灵机器人在国家会议中心召开主题为“机器人应用创新”的发布会,在此次发布会上,图灵机器人发布了多个针对于机器人的新应用。另外,还有金山英语、贝瓦儿歌、墨迹天气等多家内容公司发...

yanyan1234562018
03/29
0
0
520 | 机器人竟然对我表白了?!用Python假装自己有女朋友(附代码)

     授权转载自大数据分析和人工智能   作者:小马哥 爱数圈联合创始人   520这一天,也是网络情人节。就在今天,python聊天机器人竟然对我表白了,并且还自动地和微信里面的所有人...

大数据文摘
05/20
0
0
图灵机器人接口分享

今天从慕课网学习了图灵机器人的实现,感觉很有意思。 无聊的时候可以找它陪你聊天,想想也挺有趣的,下面就看看具体的实现吧。 聊天功能的实现其实是借用了图灵机器人的第三方jar包,如果仅...

turing321
2016/07/10
7.3K
4
图灵机器人联合创始人郭家确认出席2017中国人工智能机器人CEO峰会

  2017年12月26日,由中国人工智能机器人产业联盟(CAIA)主办的2017中国人工智能机器人CEO峰会暨2017年度·中国服务机器人品牌评选颁奖典礼将在深圳马哥孛罗好日子酒店8楼悉尼厅隆重举办。...

人工智能机器人联盟
2017/12/22
0
0

没有更多内容

加载失败,请刷新页面

加载更多

图片无限轮播

<!doctype html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, max......

shawnDream
6分钟前
0
0
js 在==时,则会有一些让人难以理解的陷阱

在==时,则会有一些让人难以理解的陷阱。 (function () { var undefined; undefined == null; // true 1 == true; //true 2 == true; // false 0 == false; // true 0 == ''; // true NaN ==......

之渊
8分钟前
1
0
前后端分离之JWT用户认证

参考资料 1、前后端分离之JWT用户认证

哎小艾
12分钟前
0
0
TiDB 在量化派风控系统中的应用

作者:朱劲松,量化派研发中心系统架构师,主要参与了基础组件开发、API Gateway 等项目,现在致力于公司风控系统相关业务的架构设计和研发。 一、公司简介 量化派(QuantGroup)创办于 2014...

TiDB
15分钟前
0
0
Spring Cloud Feign 异常处理

问题 最近在项目开发中,使用 Feign 调用服务,当触发熔断机制时,遇到了以下问题: 异常信息形如:TestService#addRecord(ParamVO) failed and no fallback available.; 获取不到服务提供方...

xiaomin0322
27分钟前
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部