好久沒寫項目了,因此單純的想練練手,正好看到有問答機器人的接口,想到以前也作過聊天項目,爲何不實驗一下呢。固然也是簡單調用接口的項目,並無真正的完成問答的算法等等。業餘項目,功能不齊全,只實現了簡單的問答部分,至於聊天界面等等我懶得把以前的項目代碼複製一份,所以忽略了。git
首先,我用的問答機器人的接口仍然仍是聚合數據開放的免費接口,網址是: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包裏面的三個類代碼。框架
問答的截圖:學習
下載地址:
- 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.