今天我们来分享一个有趣的应用:Android版的智能聊天机器人
开发工具:Eclipse
开发时间:2015/07/07
所用技术:图灵机器人API 网络通信之异步请求 接口回调 自定义Adapter
下面我将详细叙述开发的步骤:
第一步:申请图灵机器人的API KEY
方法很简单,只需要在图灵机器人API官网注册一个账号,注册成功之后,会显示一个API KEY
图灵机器人API 账号注册网址:图灵机器人
注册成功后,点击平台接入,认真看一下API接入的流程
第二步:开始创建工程进行编码,首先,新建一个class,用作异步请求图灵机器人API,获取返回信息
以下是我的HttpData 的源码:
1 package com.oysd.tuling; 2 3 import java.io.BufferedReader; 4 import java.io.InputStream; 5 import java.io.InputStreamReader; 6 7 import org.apache.http.HttpEntity; 8 import org.apache.http.HttpResponse; 9 import org.apache.http.client.methods.HttpGet; 10 import org.apache.http.impl.client.DefaultHttpClient; 11 12 import android.os.AsyncTask; 13 14 public class HttpData extends AsyncTask<String, Void, String> { 15 16 private DefaultHttpClient mHttpClient; 17 private HttpGet mHttpGet; 18 private String url; 19 private HttpResponse mHttpResponse;//获取Http请求的返回 20 private HttpEntity mHttpEntity;//创建Http实体 21 private InputStream in;//将获取的数据转换成流文件来处理 22 private HttpGetDataListener listener; 23 24 public HttpData(String url,HttpGetDataListener listener){ 25 this.url = url; 26 this.listener = listener; 27 } 28 29 @Override 30 protected String doInBackground(String... arg0) { 31 // TODO Auto-generated method stub 32 try{ 33 mHttpClient = new DefaultHttpClient(); 34 mHttpGet = new HttpGet(url); 35 mHttpResponse = mHttpClient.execute(mHttpGet);//通过客户端来进行发送 36 mHttpEntity = mHttpResponse.getEntity();//通过Response对象获取数据 37 in = mHttpEntity.getContent();//通过Http的实体来获取具体的内容 38 //通过缓存区进行读取 39 BufferedReader br = new BufferedReader(new InputStreamReader(in)); 40 String line = null; 41 StringBuffer sb = new StringBuffer(); 42 while((line = br.readLine()) != null){ 43 sb.append(line); 44 } 45 return sb.toString(); 46 47 }catch(Exception e){ 48 e.printStackTrace(); 49 50 } 51 52 53 return null; 54 } 55 56 @Override 57 protected void onPostExecute(String result) { 58 listener.getDataUrl(result); 59 super.onPostExecute(result); 60 } 61 62 63 }