很久沒寫項目了,所以單純的想練練手,正好看到有問答機器人的接口,想到之前也做過聊天項目,為何不實驗1下呢。固然也是簡單調用接口的項目,并沒有真實的完成問答的算法等等。業余項目,功能不齊全,只實現了簡單的問答部份,至于聊天界面等等我懶得把之前的項目代碼復制1份,因此疏忽了。
首先,我用的問答機器人的接口依然還是聚合數據開放的免費接口,網址是:https://www.juhe.cn/docs/api/id/112,大家可以從這個網址里取得更多的接口信息,我項目只用了簡單的調用。
在項目架構上,我用的依然是MVP模式,使Android項目層次分明,代碼結構簡單,復用性高。具體采取的是Beam框架,參考作者的Beam。
聊天的界面的信息排列采取的是jude的EasyRecyclerView,由于這個控件不是基于RecyclerView的改造,我感覺在本項目中的使用中其實不是很好用。本項目對列表展現比較簡單,RecyclerView和ListView應當就可以勝任。
整體來講,項目開發1帆風水,1晚上就開發玩了,今天下午我用改了下bug,寫寫文檔,總結下項目。
項目里邊,有1個小卡克記錄1下。機器人接口返回的信息被我包裝成了Answer類,但是,真正項目的List展現的時候用到的是ChatBean,因此,這二者是不同的結構,不能弄混。
另外在會話列表的MVP中,Fragment控制的是List,Presenter控制的是數據的要求和響應,ViewHolder控制的是數據的具體展現,因此邏輯比較清晰了,想要控制哪一個部份的控件要明白在哪一個里面去改。具體的看下這個項目的里邊robot包里面的3個類代碼。
問答的截圖:
下載地址:
- 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.
下一篇 Java設計模式——工廠設計模式