Android智能聊天机器人

智能聊天机器人

一、概述

(一)研究背景

  随着科技的快速发展,机器人技术及其产业也发展迅速.越来越多各式各样的机器人被应用到社会生产的各个行业以及社会生活的各个领域,他们发挥着越来越重要的作用.智能机器人的研究备受关注越来越多,成为当今热点问题.本次介绍了基于Android的平台的智能机器人研究,机器人可以聊天,报天气预报,讲笑话等功能.

(二)研究意义

  聊天机器人在很多大型App上都有使用,比如QQ群里的QQ小冰,淘宝京东等App上在没有人工客服之前会有机器人跟你聊天,根据你发的问题关键词,向你推荐一些答案,可以省下很多人工的时间以及减小服务器的压力。

二、系统设计

(一)关键设计

  先申请图灵机器人API官网注册一个账号。图灵机器人官网进行了更新,API连接做了改变,所以网站的接口地址换了。请求方式改为http get。我们的Robot类中新增一个静态字符串成员ID是我们在图灵官网注册的用户ID。以传输json为参数,返回得到的json字符串。
Android智能聊天机器人_第1张图片

(二)系统设计

1.系统管理结构

Android智能聊天机器人_第2张图片
Android智能聊天机器人_第3张图片
  聊天界面用了ListView控件显示聊天信息,因此需要创建一个数据适配器ChatAdapter对ListView控件进行数据适配。所以要创建一个ChatAdapter类。getView方法内用if和else语句判断当前的消息是发送的消息还是接收到的消息,不同消息加载不同的view。如果是接收消息,说明就是机器人发的消息,那就加载左边布局;如果是发送消息,说明就是用户发的消息,则加载右边布局。

2.类的设计

  ChatMessage类声明的变量有名字、聊天信息、类型和时间。Result类声明的变量有code码和信息。
添加网络权限和依赖
在这里插入图片描述

  配置自己的图灵机器人
Android智能聊天机器人_第4张图片
主Java的实现过程
Android智能聊天机器人_第5张图片
  布局的实现:整个界面最外层采用线性布局,在最大的LinearLayout中先设置了一个TextView用来显示聊天窗口的文本为机器人。接着在TextView下面放置了一个RelativeLayout,在它里面先放置了一个ListView,用于显示聊天消息列表。然后放置了一个小的RelativeLayout,里面放置了一个Button和一个EditText,Button在EditText右侧,文本为“发送”,作为发送按钮,EditText则是聊天输入框,在里面输入聊天内容。
  网络请求:设置文件类型,设置接收类型,往服务器里面发送数据,连接请求的内容后http 获取的内容解析之后的结果给聊天信息赋值。
  安卓版本变高,系统安全方面受到的限制也变多,我们这里到图灵机器人官网的网络连接,可能被系统视为不完全的,导致连接失败。我们需要添加的操作在res文件夹中新建一个xml文件夹,放入network_security_config.xml。

四、系统测试

  Log调试,查看是否收到官网回复的json
  机器人能进行日常的对话,比如讲笑话和回复天气。
Android智能聊天机器人_第6张图片

Android智能聊天机器人_第7张图片

五、设计总结

  在本项目的实现过程中,熟悉了网络请求、JSON解析、Handler处理等知识点,这些知识点会在后来Android项目中经常使用。按照老师发的博客的步骤,一步一步的来就能很好的完成这个实验。遇到最大的困难可能就是网络请求的问题,由于图灵网的更新我们的代码也需要做新的改变,我们可以查看官网的文档接入。也是通过查询相关的博客才能一点一点的把问题解决。有许多的坑需要我们慢慢发现,比如官网的密钥不能打开,这也是我们需要修行的地方,遇到问题查看问题解决问题。能通过这样一个小小程序,体会到编程的乐趣,这个项目的性价比还是很高的。
代码放在这啦!

你可能感兴趣的:(安卓,android,java,人工智能,移动开发)