利用问答机器人API开发制做聊天类App

缘起

好久没写项目了,因此单纯的想练练手,正好看到有问答机器人的接口,想到以前也作过聊天项目,为何不实验一下呢。固然也是简单调用接口的项目,并无真正的完成问答的算法等等。业余项目,功能不齐全,只实现了简单的问答部分,至于聊天界面等等我懒得把以前的项目代码复制一份,所以忽略了。git

icon

研究

首先,我用的问答机器人的接口仍然仍是聚合数据开放的免费接口,网址是:https://www.juhe.cn/docs/api/id/112,你们能够从这个网址里得到更多的接口信息,我项目只用了简单的调用。github

在项目架构上,我用的仍然是MVP模式,使Android项目井井有条,代码结构简单,复用性高。具体采用的是Beam框架。算法

聊天的界面的信息排列采用的是jude的EasyRecyclerView,由于这个控件不是基于RecyclerView的改造,我感受在本项目中的使用中并非很好用。本项目对列表展现比较简单,RecyclerView和ListView应该就能胜任。api

整体来讲,项目开发一帆风水,一夜就开发玩了,今天下午我用改了下bug,写写文档,总结下项目。微信

经验

项目里边,有一个小卡克记录一下。机器人接口返回的信息被我包装成了Answer类,可是,真正项目的List展现的时候用到的是ChatBean,所以,这二者是不一样的结构,不能弄混。架构

另外在会话列表的MVP中,Fragment控制的是List,Presenter控制的是数据的请求和响应,ViewHolder控制的是数据的具体展现,所以逻辑比较清晰了,想要控制哪一个部分的控件要明白在哪一个里面去改。具体的看下这个项目的里边robot包里面的三个类代码。框架

App截图

问答的截图:学习

此处输入图片的描述

此处输入图片的描述

此处输入图片的描述

应用市场

下载地址: 
- Fir.im:https://fir.im/qarobot.net

结语

这个项目基本都是基于找乐和微信精选两个App改的,我以为开发速度很快,这两个项目的架构也很好。但愿你们互相交流学习。blog

找乐:http://blog.csdn.net/fuxuemingzhu/article/details/50911245 
微信精选:http://blog.csdn.net/fuxuemingzhu/article/details/50933767

本问答机器人项目已经彻底开源,代码在:https://github.com/fuxuemingzhu/QARobot,欢迎Star和Fork.

 

相关文章
相关标签/搜索