今天我们来分享一个有趣的应用:Android版的智能聊天机器人

开发工具:Eclipse

开发时间:2015/07/07 

所用技术:图灵机器人API  网络通信之异步请求 接口回调  自定义Adapter

下面我将详细叙述开发的步骤:

第一步:申请图灵机器人的API KEY

方法很简单,只需要在图灵机器人API官网注册一个账号,注册成功之后,会显示一个API KEY

图灵机器人API 账号注册网址:图灵机器人

注册成功后,点击平台接入,认真看一下API接入的流程

Android学习之智能聊天机器人(图灵机器人)

第二步:开始创建工程进行编码,首先,新建一个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 }
View Code

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-08-21
  • 2021-09-30
  • 2022-12-23
  • 2021-07-25
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2021-11-21
  • 2021-05-25
  • 2021-10-24
  • 2021-06-14
  • 2021-09-11
相关资源
相似解决方案