缘起

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

研究

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

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

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

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

经验

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

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

App截图

问答的截图:

应用市场

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

可以扫码下载:

Fir.im下载:

欢迎大家使用。

结语

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

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

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

更多相关文章

  1. 直接拿来用!十大Material Design开源项目
  2. 向IntelliJ IDEA创建的项目导入Jar包的两种方式
  3. 解决Eclipse建立Maven项目后无法建立src/main/java资源文件夹的
  4. 【Android学习】案例学开发,天气记事本项目学习总结。RxJava+Retr
  5. Android项目实战--手机卫士01--启动界面
  6. android-eclipse-phonegap 2..9以下(包含2.9)的项目配置
  7. android项目 之 记事本(14) ----- 手势缩放与拖拽图片
  8. 使用scala编写Android项目
  9. Android自定义控件——开源组件SlidingMenu的项目集成

随机推荐

  1. 再也不要对==和equals的区别有困惑了,保证
  2. Springboot整合mybatis(注解而且能看明白
  3. JDBC面试题都在这里
  4. 2017中国程序员薪资调查:平均薪资10K!
  5. 过滤器监听器面试题都在这里
  6. Android日志系统第三方库------Logger
  7. 其实很重要的一个分布式理论基础3pc协议
  8. 乌合之众
  9. JSON就是这么简单
  10. JVM系列(7)内存溢出问题(工作中常用、面试