問答機器人,聊天類App的開發製作過程記錄

緣起

很久沒寫項目了,所以單純的想練練手,正好看到有問答機器人的接口,想到之前也做過聊天項目,爲什麼不實驗一下呢。當然也是簡單調用接口的項目,並沒有真正的完成問答的算法等等。業餘項目,功能不齊全,只實現了簡單的問答部分,至於聊天界面等等我懶得把之前的項目代碼複製一份,因此忽略了。

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


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章