话不多说,直接上步骤:
第一步:申请图灵账号,获取到自己的专属key值:
http://www.tuling123.com/ 这是图灵机器人官网,点击注册,注册成功并登陆之后,点击右上角的小图标进入个人中心,点击左侧第二个选项“我的机器人”点击创建,这里需要注意的是接入这一块如果是自己开发个小项目,就需要选择自定义了:
ok,剩下的会自动帮你生成,默认的机器人会包括的知识库可以在下方清晰看到,这里就不多说了。
创建完成之后点击界面上方的“帮助中心”,点击之后可以在界面中看到自己的Apikey,获取之后注意一下,以后再看可以直接在你创建的小机器人的查看详情下拉,最底部会有
自己的apikey
第二步:实现简单的通话:
在浏览器中复制粘贴api地址,按照以下模式来进行操作:api地址+"?key="+APIkey+“&info=”+自己想说的话,点击回车之后就可以看到图灵机器人的回复了。
第三步:构建自己的简单的demo:
首先上工具类的代码,专门用来异步使用volley来联网并获取回复:
这是工具类拼接http的方法,msg为你输入的想要说的话。这里有一个userid大家需要注意一下,因为你在和机器人聊天时会存在一个问题,如下给大家演示一下:
这里一个简单的测试可以看到,如果没有userid,它默认你的每次请求都是断开的,会断开给你回复,但是如果添加userid,会为你将两次问答联系起来,直接告诉你明天的北京的天气,而不是分开回答。是不是显得很智能?
好了,话不多说,现在上volley部分的代码,这一部分代码也是在工具类中的:
整个方法第一行用来获取到拼接的url字符串,通过volley联网来获取到。这里将数据封装在了一个实体类ChatMessage中了,实体类的代码很简单,这边就不再显示代码了,甚至你直接将获取到的result字符串通过回调返回也可以简单的实现通话的。整个方法就是联网获取数据,因为获取到的json格式特别简单,就直接解析了,没有用到什么Gson之类的框架。
整个工具类的代码就实现了,界面什么的就没什么好说的了,当点击发送时,直接调用doGet()方法进行联网获取数据,第一个参数就是你输入的文本,第二个数据是一个回调,回调成功之后用一个TextView来显示即可完成简单的对话。