智能聊天机器人之图灵机器人
今天从慕课网学习了图灵机器人的实现,感觉很有意思。视频地址:点击打开链接,因为视频是一年多以前的,现在图灵官网的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() {@Overridepublic void onFail(String error) {Log.i(TAG, "onFail() called with: " + "error = [" + error + "]");}@Overridepublic void onComplete() {// 获取userid成功后,才可以请求Turing服务器,需要请求必须在此回调成功,才可正确请求mTuringApiManager = new TuringApiManager(MainActivity.this);mTuringApiManager.setHttpListener(myHttpConnectionListener);}
});HttpConnectionListener myHttpConnectionListener = new HttpConnectionListener() {@Overridepublic void onError(ErrorMessage errorMessage) {Log.i(TAG, "onError() errorMessage = " + errorMessage.getMessage() + " code = " + errorMessage.getCode());Toast.makeText(MainActivity.this, "请检查网络是否正常", Toast.LENGTH_SHORT).show();}@Overridepublic 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试了好几次均没有成功;
代码下载地址:点我下载吧
智能聊天机器人之图灵机器人相关推荐
- 【图灵机器人】图灵机器人API V2版使用采坑指南
做一个小东西的时候需要用python和这个接口,使用的时候遇到了一些坑,于是记录一下.本文只记录接入API时候的一些简单坑,更多使用技巧没有说到. 介绍 图灵机器人是以语义技术为核心驱动力的人工智能公 ...
- python 图灵机器人_图灵机器人 python 试玩
看一个小伙伴分享的图灵机器人Python玩法,觉得挺好的 linux上,可以尝试更简单的方法.比如说使用curl命令 curl "http://www.tuling123.com/opena ...
- 专属个人的聊天机器人的实现——图灵机器人
先体验一下:图灵机器人智能聊天体验:http://www.tuling123.com/openapi/cloud/proexp.jsp 1.简单介绍 本篇为大家介绍使用图灵机器人api实现聊天机器人的 ...
- 图灵机器人调用数据恢复_python:用itchat打造属于自己的微信聊天机器人,24小时运行...
前几天逛GitHub看见python上的一个开源项目itchat,可以用来丰富个人微信号或者微信公众号,于是乎点进去看了看, 这是成功的示意图: 下面来具体介绍一下. 一.对itchat的调用 (源码 ...
- Android智能聊天机器人的实现
一 .概述 本博客主要介绍了使用android studio接入图灵机器人,实现智能聊天机器人的功能. 二.注册图灵机器人 进入图灵机器人官网,创建自己的图灵机器人 图灵机器人官网 点击机器人,进入机 ...
- 树莓派百度语音识别+图灵机器人对话聊天机器人
硬件 树莓派3B.USB声卡.麦克.USB音响 软件 python.百度语音识别API.图灵机器人.espeak 树莓派官方系统自带python环境.注册百度语音识别开发者账号,获取api key. ...
- PHP CURL 图灵机器人
智能回复机器人,常用于客服.微信自动回复...本次我们主要讲解PHP CURL的用法 --@Author 云天河Blog 本次CURL的使用 是围绕软件工程8大步骤来的 1问题定义 2可行性研究 3需 ...
- 图灵机器人:到基层去,做人工智能的开放平台
你有多久没和小冰聊天了? 这个由微软在今年端午节时所推出的"16岁萌妹子"曾在刚开始受到了相当多的关注,无论是迅速入驻各微信聊天群,还是后来在新浪微博等平台的复活,这个背着&quo ...
- python调用图灵机器人实现微信公众号的自动回复功能
刚刚创建这个公众号的时候,我的一个同事就找我的公众号聊天,但是那个时候我的公众号还是仅支持根据关键词,如果要做到支持智能回复,那基本上就是不可能.然后我结合我之前做的微信自动回复机器人的经历,我首 ...
最新文章
- 活动排序工具之双代号网络(AOA)与单代号网络(AON)[cont.]
- php编写一个学生类_PHP实现简单的学生信息管理系统(web版)
- 年度编程语言最佳候选人:Kotlin vs. C
- 特性开关框架 java_关于Mosfet你应当知道的开关特性
- 深度学习核心技术精讲100篇(四十九)-深度学习之关联规则
- 06-图2 Saving James Bond - Easy Version
- SiamBAN论文学习
- 论文浅尝 | 一种基于递归超图的知识图谱问答方法
- python tensorflow 文本提取_如何在tensorflow中保存文本分类模型?
- JS将/Date(1446704778000)/转换成string
- 小米6android版本更新,钉子户小米6的新生,换电池、背盖,升级android11
- linux客户端掉线重连,SSH自动断开后重连的解决方案
- 旁边一位员工天天跟别人聊天,主管都不敢管,那你当什么主管
- Java人脸识别登录案例(基于百度人脸识别AI)
- 类ResourceBundle详解
- 光纤通道FC存储交换机的常见问题详解
- 2020最新WordPress网站优化教程
- Xilinx ZYNQ Ultrascale+ 性能测试之 PL/PS PCIe Root Port NVMe
- 2208988800一个奇怪的数字
- 只是为了好玩:linux之父林纳斯自传.pdf,读后感:《只是为了好玩:Linux之父林纳斯自传》...