1. 程式人生 > >是時候找個一直線上的人陪你聊天了--圖靈機器人小demo的實現。

是時候找個一直線上的人陪你聊天了--圖靈機器人小demo的實現。

話不多說,直接上步驟:

第一步:申請圖靈賬號,獲取到自己的專屬key值:

               http://www.tuling123.com/   這是圖靈機器人官網,點選註冊,註冊成功並登陸之後,點選右上角的小圖示進入個人中心,點選左側第二個選項“我的機器人”點選建立,這裡需要注意的是接入這一塊如果是自己開發個小專案,就需要選擇自定義了:


ok,剩下的會自動幫你生成,預設的機器人會包括的知識庫可以在下方清晰看到,這裡就不多說了。

建立完成之後點選介面上方的“幫助中心”,點選之後可以在介面中看到自己的Apikey,獲取之後注意一下,以後再看可以直接在你建立的小機器人的檢視詳情下拉,最底部會有

自己的apikey

第二步:實現簡單的通話:

             在瀏覽器中複製貼上api地址,按照以下模式來進行操作:api地址+"?key="+APIkey+“&info=”+自己想說的話,點選回車之後就可以看到圖靈機器人的回覆了。


第三步:構建自己的簡單的demo:

首先上工具類的程式碼,專門用來非同步使用volley來聯網並獲取回覆:


這是工具類拼接http的方法,msg為你輸入的想要說的話。這裡有一個userid大家需要注意一下,因為你在和機器人聊天時會存在一個問題,如下給大家演示一下:



這裡一個簡單的測試可以看到,如果沒有userid,它預設你的每次請求都是斷開的,會斷開給你回覆,但是如果新增userid,會為你將兩次問答聯絡起來,直接告訴你明天的北京的天氣,而不是分開回答。是不是顯得很智慧?

好了,話不多說,現在上volley部分的程式碼,這一部分程式碼也是在工具類中的:


整個方法第一行用來獲取到拼接的url字串,通過volley聯網來獲取到。這裡將資料封裝在了一個實體類ChatMessage中了,實體類的程式碼很簡單,這邊就不再顯示程式碼了,甚至你直接將獲取到的result字串通過回撥返回也可以簡單的實現通話的。整個方法就是聯網獲取資料,因為獲取到的json格式特別簡單,就直接解析了,沒有用到什麼Gson之類的框架。

整個工具類的程式碼就實現了,介面什麼的就沒什麼好說的了,當點擊發送時,直接呼叫doGet()方法進行聯網獲取資料,第一個引數就是你輸入的文字,第二個資料是一個回撥,回撥成功之後用一個TextView來顯示即可完成簡單的對話。