文档章节

问答机器人,聊天类App的开发制作过程记录

熊babi
 熊babi
发布于 2017/01/12 10:50
字数 643
阅读 71
收藏 1

缘起

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

icon

研究

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

在项目架构上,我用的仍然是MVP模式,使Android项目层次分明,代码结构简单,复用性高。具体采用的是Beam框架。

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

总体来说,项目开发一帆风水,一晚上就开发玩了,今天下午我用改了下bug,写写文档,总结下项目。

经验

项目里边,有一个小卡克记录一下。机器人接口返回的信息被我包装成了Answer类,但是,真正项目的List展示的时候用到的是ChatBean,因此,这两者是不同的结构,不能弄混。

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

App截图

问答的截图:

此处输入图片的描述

此处输入图片的描述

此处输入图片的描述

应用市场

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

结语

这个项目基本都是基于找乐和微信精选两个App改的,我觉得开发速度很快,这两个项目的架构也很好。希望大家互相交流学习。

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

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

本文转载自:http://blog.csdn.net/fuxuemingzhu/article/details/54315899

熊babi
粉丝 12
博文 67
码字总数 45954
作品 0
南京
私信 提问
巧用第三方快速开发Android App 热门第三方SDK及框架

巧用第三方快速开发Android App 热门第三方SDK及框架 历经大半年的时间,终于是把这门课程给录制出来了,也就在今天,正式在慕课网上上线了 项目地址:巧用第三方快速开发Android App 热门第三...

qq_26787115
2017/01/12
0
0
带领新手快速开发Android App开发视频课程 安卓快速入门教程

第1章 课程介绍与项目准备 如果你从事Android开发,那你一定要学习一些开发技巧和掌握一些开发逻辑,而很不巧,我这里全部都有,最开始我们介绍一下我们这个应用的整体组织架构,通过对各个平...

17087075817
2018/05/14
0
0
chatbot人工智能机器人开发,提供教学视频

【业务需求】 学习人工智能开发,40分钟开发出一个chatbot机器人的Demo(比较简单,如有兴趣也可使用Waston API增强chatbot认知能力),利用Bluemix平台的Waston Conversation 服务; 完整教...

宋庆离
2017/07/24
14
10
你怎样留住有关你和父母那些最美的美好的回忆的?

  导语:每个人都会经历亲人的生离死别,当面对死别的场景的时候,我们总是显得非常的渺小。一名美国的记者在他父亲去世之后制造了一个人工智能聊天机器人,仿佛就是父亲依旧还在,他依旧还...

人工智能之星
2017/12/22
0
0
吴鹤意:NLP机器学习模型安全性及实践|看雪2018峰会

雷锋网编者按:如果说一场安全大会能召集五湖四海的白帽子们前来朝圣,看雪学院的安全开发者峰会必然算是一场。不久前,第二届安全开发者峰会在北京国家会议中心落幕,峰会现场有近1000位来自...

又田
2018/08/01
0
0

没有更多内容

加载失败,请刷新页面

加载更多

读书笔记:深入理解ES6 (五)

第五章 解构:使数据访问更便捷 第1节 为什么使用解构功能?   在ES5中,开发者们从对象、数组中获取特定数据并赋值给变量,编写了很多看起来同质化的代码。例如: 1 let options = {2 ...

张森ZS
14分钟前
15
0
CentOS7 yum方式安装MySQL5.7

在CentOS中默认安装有MariaDB,这个是MySQL的分支,但为了需要,还是要在系统中安装MySQL,而且安装完成之后可以直接覆盖掉MariaDB。 1 下载并安装MySQL官方的 Yum Repository [root@localho...

roockee
23分钟前
11
0
Allegro三种自定义设置快捷键的方法

Allegro自定义设置快捷键的三种方法: 1、在Allegro PCB editor 命令窗口直接定义 2、通过修改用户变量env文件来设置快捷键 3、定义笔画为快捷键 1、在Allegro PCB editor 命令窗口直接定义 ...

demyar
27分钟前
14
0
如何做一张能让人眼前一亮的大屏?

作为在职场驰骋的社会人,提到数据可视化大家应该都不陌生了。数据可视化的作用也不用我多说,主要是利用图形化手段,更清晰直观地将数据展示。多层次、交互式的可视化分析能够方便决策者理解...

朕想上头条
28分钟前
7
0
TL138/1808/6748-EthEVM开发板硬件CPU、FLASH、RAM

TL138/1808/6748-EthEVM是广州创龙基于SOM-TL138/1808/6748核心板开发的一款开发板,具有三个网络接口。由于SOM-TL138/1808/6748核心板管脚兼容,所以此三个核心板共用同一个底板。开发板采用...

Tronlong创龙
32分钟前
10
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部