文档章节

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

abcijkxyz
 abcijkxyz
发布于 2016/07/30 17:23
字数 787
阅读 88
收藏 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
粉丝 60
博文 6196
码字总数 1876
作品 0
深圳
项目经理
使用图灵机器人快速开发智能聊天机器人

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

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

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

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

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

大数据文摘
05/20
0
0
图灵机器人联合创始人郭家确认出席2017中国人工智能机器人CEO峰会

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

人工智能机器人联盟
2017/12/22
0
0
图灵机器人接口分享

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

turing321
2016/07/10
7K
4

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Zookeeper总结

Zookeeper的部分概念 什么是zookeeeper? Zookeeper是一个分布式服务的协调中心 zookeeper节点的角色类型? Leader(领导者)、Follower(跟随者)、Observer(观察者) Leader 负责更新系统...

DemonsI
13分钟前
0
0
Redis学习笔记

常用命令 从Docker进入Redis的命令 sudo docker exec -it redis /bin/bash

OSC_fly
13分钟前
0
0
SqlServer查询某个日期的数据

select * from View_ZJMONITORINGCORROSION where ENTERDATE > CONVERT(datetime,DATEADD(day,1,'2017/12/28 14:53:07'))...

笑丶笑
15分钟前
0
0
常用编码规范

Standard characters https://ascii.cl/

yeahlife
16分钟前
0
0
flannel实战

docker swarm mode的出现是个里程碑,官方原生的编排调度看起来都成雏形了,但是swarm mode和容器外部系统的对接、网络性能始终不尽人意,swarm mode下各种开源周边不能使用,感觉swarm mod...

China_OS
18分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部