Android开发-图灵聊天机器人接口引用

  转载注明出处: http://www.cnblogs.com/frank-zouxu/p/4121601.html  

  在前几日,偶然看到新闻,图灵机器人向开发者提供了API,API地址为:http://www.tuling123.com/openapi/,因为这个API可以定制自己的聊天机器人,这在我看来,是个很有意思的事情,于是我就试着在Android应用中进行了API测试,效果图如下(图1):

    图1

 

主要代码如下:

public class MainActivity extends Activity implements OnClickListener {

    private String requesturl;
    private ListView lv;
    private EditText et_input;
    private ChatListAdapter chat_adp;
    private Context ctx;

    private InputMethodManager imm;
    private Button et_sendMsg;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        ctx = this;
        imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
        setContentView(R.layout.activity_main);
        initView();
    }
    private void initView() {
        lv = (ListView) findViewById(R.id.lv_conmunicate);
        et_input = (EditText) findViewById(R.id.et_input);
        et_input.setOnClickListener(this);
        et_sendMsg = (Button) findViewById(R.id.bt_sendMsg);
        et_sendMsg.setOnClickListener(this);
        chat_adp = new ChatListAdapter(ctx);
        lv.setAdapter(chat_adp);
    }
@Override
public void onClick(View v) { switch (v.getId()) { case R.id.bt_sendMsg: new AsyReq().execute(et_input.getText().toString().trim()); break; } } private class AsyReq extends AsyncTask<String, Integer, String> { private String result; private DialogShowStyle dialog; @Override protected void onPreExecute() { // TODO Auto-generated method stub // 隐藏软键盘 if (imm.isActive()) { ((InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE)) .hideSoftInputFromWindow(et_input.getWindowToken(), InputMethodManager.HIDE_NOT_ALWAYS); } int netType = new NetWorkUtils(MainActivity.this).getNetType(); switch (netType) { case Configs.NONET: // handler.sendEmptyMessage(Configs.NONET); Toast.makeText(MainActivity.this, "请检查网络连接", Toast.LENGTH_LONG) .show(); // 取消任务的执行 this.cancel(true); break; case Configs.SLOWNET: // handler.sendEmptyMessage(Configs.SLOWNET); dialog = new DialogShowStyle(MainActivity.this, "小图灵正在深思..."); dialog.dialogShow(); case Configs.WIFI: chat_adp.add("我:" + et_input.getText().toString()); break; } } @Override protected String doInBackground(String... params) { try { // 防止get请求中出现中文乱码 String INFO = URLEncoder.encode(params[0], "utf-8"); requesturl = Configs.API_URL + Configs.APIKEY + "&info=" + INFO; HttpGet request = new HttpGet(requesturl); HttpResponse response; response = new DefaultHttpClient().execute(request); if (response.getStatusLine().getStatusCode() == 200) { result = EntityUtils.toString(response.getEntity()); result = JsonUtils.analysisInfo(result); } } catch (Exception e) { e.printStackTrace(); } return result; } @Override protected void onPostExecute(String result) { if (dialog != null) { dialog.dialogDismiss(); dialog = null; } chat_adp.add("图灵:" + result); et_input.setText(""); } } }

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。