緣起很久沒寫項目了,所以單純的想練練手,正好看到有問答機(jī)器人的接口,想到之前也做過聊天項目,為什么不實驗一下呢。當(dāng)然也是簡單調(diào)用接口的項目,并沒有真正的完成問答的算法等等。業(yè)余項目,功能不齊全,只實現(xiàn)了簡單的問答部分,至于聊天界面等等我懶得把之前的項目代碼復(fù)制一份,因此忽略了。 研究首先,我用的問答機(jī)器人的接口仍然還是聚合數(shù)據(jù)開放的免費接口,網(wǎng)址是:https://www./docs/api/id/112,大家可以從這個網(wǎng)址里獲得更多的接口信息,我項目只用了簡單的調(diào)用。 在項目架構(gòu)上,我用的仍然是MVP模式,使Android項目層次分明,代碼結(jié)構(gòu)簡單,復(fù)用性高。具體采用的是Beam框架。 聊天的界面的信息排列采用的是jude的EasyRecyclerView,因為這個控件不是基于RecyclerView的改造,我感覺在本項目中的使用中并不是很好用。本項目對列表展示比較簡單,RecyclerView和ListView應(yīng)該就能勝任。 總體來說,項目開發(fā)一帆風(fēng)水,一晚上就開發(fā)玩了,今天下午我用改了下bug,寫寫文檔,總結(jié)下項目。 經(jīng)驗項目里邊,有一個小卡克記錄一下。機(jī)器人接口返回的信息被我包裝成了Answer類,但是,真正項目的List展示的時候用到的是ChatBean,因此,這兩者是不同的結(jié)構(gòu),不能弄混。 另外在會話列表的MVP中,F(xiàn)ragment控制的是List,Presenter控制的是數(shù)據(jù)的請求和響應(yīng),ViewHolder控制的是數(shù)據(jù)的具體展示,因此邏輯比較清晰了,想要控制哪個部分的控件要明白在哪個里面去改。具體的看下這個項目的里邊robot包里面的三個類代碼。 App截圖問答的截圖: 應(yīng)用市場下載地址: 結(jié)語這個項目基本都是基于找樂和微信精選兩個App改的,我覺得開發(fā)速度很快,這兩個項目的架構(gòu)也很好。希望大家互相交流學(xué)習(xí)。 找樂:http://blog.csdn.net/fuxuemingzhu/article/details/50911245 本問答機(jī)器人項目已經(jīng)完全開源,代碼在:https://github.com/fuxuemingzhu/QARobot,歡迎Star和Fork. |
|