public class XiaoI {

private String Webbot_Path = "http://webbot.xiaoi.com/engine/widget1007/webbot.js?encoding=utf-8";

private String Send_Path = "http://122.226.240.164/engine/widget1007/send.js?encoding=utf-8&";

private String Recv_Path = "http://122.226.240.164/engine/widget1007/recv.js?encoding=utf-8&";

private String mSessionId = null;

private HttpClient httpClient = null;

public boolean initialize() {

boolean success=false;

HttpParams httpParams = new BasicHttpParams();

HttpConnectionParams.setConnectionTimeout(httpParams, 30000);

HttpConnectionParams.setSoTimeout(httpParams, 30000);

httpClient = new DefaultHttpClient(httpParams);

try {

String strGetId = Webbot_Path;

HttpGet httpRequest = new HttpGet(strGetId);

HttpResponse httpResponse = httpClient.execute(httpRequest);

if (httpResponse.getStatusLine().getStatusCode() == HttpURLConnection.HTTP_OK) {

String strResult = EntityUtils.toString(httpResponse

.getEntity());

Pattern p = Pattern.compile("sessionId = .(\\d+)"); //get sessionId

Matcher m = p.matcher(strResult);

if (m.find()) {

mSessionId = m.group(1);

String strSendJoin = Send_Path + "SID=" + mSessionId

+ "&USR=" + mSessionId + "&CMD=JOIN&r=";

HttpGet httpRequest1 = new HttpGet(strSendJoin);

httpResponse = httpClient.execute(httpRequest1);

String strRevAsk = Recv_Path + "SID=" + mSessionId

+ "&USR=" + mSessionId + "&r=";

HttpGet httpRequest2 = new HttpGet(strRevAsk);

httpResponse = httpClient.execute(httpRequest2);

success=true;

}

}

} catch (ClientProtocolException e) {

e.printStackTrace();

} catch (IOException e) {

e.printStackTrace();

} catch (Exception e) {

e.printStackTrace();

}finally{

return success;

}

}

public void sendMsg(String msg) {

String strTalksend = Send_Path + "SID=" + mSessionId + "&USR="

+ mSessionId + "&CMD=CHAT&SIG=You&MSG=" + msg

+ "&FTN=&FTS=&FTC=&r=";

HttpGet httpRequest = new HttpGet(strTalksend);

try {

httpClient.execute(httpRequest);

} catch (ClientProtocolException e) {

// TODO Auto-generated catch block

e.printStackTrace();

} catch (IOException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

public String revMsg() {

String strTalkRec = Recv_Path + "SID=" + mSessionId + "&USR="

+ mSessionId + "&r=";

HttpGet httpRequest = new HttpGet(strTalkRec);

String msg = null;

try {

HttpResponse httpResponse = httpClient.execute(httpRequest);

if (httpResponse.getStatusLine().getStatusCode() == 200) {

String msgTmp = EntityUtils.toString(httpResponse.getEntity());

Pattern p = Pattern.compile("\"MSG\":\"(.*?)\"");

Matcher m = p.matcher(msgTmp);

if (m.find()) {

msg = m.group(1);

}

}

} catch (ClientProtocolException e) {

// TODO Auto-generated catch block

e.printStackTrace();

} catch (IOException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

return msg;

}

}

java可以编写siri_打造Android的中文Siri语音助手(一)相关推荐

  1. 打造Android的中文Siri语音助手

    打造Android的中文Siri语音助手(一)--小I机器人的接口 分类: android2011-12-02 14:10 7879人阅读 评论(44) 收藏 举报 androidstringpath ...

  2. 打造Android的中文Siri语音助手(一)——小I机器人的接口

    Iphone4S的Siri让人眼前一亮,网上出现了无数调戏Siri的视频.真是让android用户们心痒不已.好在随后android阵营中的高手迅速反击,推出了Iris.悲剧的是Iris仅支持英文,让 ...

  3. 打造Android的中文Siri语音助手(二)——添加虫洞的开放API

    在给我们的Siri添加小I的接口之后,感觉它还是不够智能,无法像Iphone的Siri一样功能强大.可是国内我依旧没有找到一个能够强大如苹果Siri的服务器,所以只能退而求其次,我引入了"虫 ...

  4. Java泛型应用之打造Android中ListView和GridView万能适配器【CommonAdapter】--超简洁写法

    转载请注明出处:http://blog.csdn.net/linglongxin24/article/details/52813227 [DylanAndroid的csdn博客] 在android中使 ...

  5. java可以编写siri_揭秘Siri,苹果发布论文阐释语音助手设计想法

    最近,苹果发布了一系列论文来阐释语音助手的重要工作机理,公开揭秘Siri,向业界贡献了自己在设计上的不同想法. 在第一篇论文中,苹果就语音助手中的多任务处理问题进行了阐释,它指出在Siri中,唤醒处理 ...

  6. Python语言打造智能语音助手——附完整源码

    Python语言打造智能语音助手--附完整源码 随着智能家居.智能办公等领域的逐渐兴起,实现语音控制与交互已成为了一种趋势.而Python语言是一门极具魅力的编程语言,其强大的库.简洁的语法以及易于学 ...

  7. android so调用java,AndServer+Service打造Android服务器实现so文件调用

    so 文件调用 随着 Android 移动安全的高速发展,不管是为了执行效率还是程序的安全性等,关键代码下沉 native 层已成为基本操作. native 层的开发就是通指的 JNI/NDK 开发, ...

  8. android java 静态库_android的android.mk,和application.mk文件编写

    android的android.mk,和application.mk文件编写 1.简介 android.mk是用来描述要编译某个具体的模块,所需要的一些资源,包括要编译的源码.要链接的库等等 appl ...

  9. java使用cmd编译中文时错误,解决Notepad++编写的Java程序在cmd窗口编译时中文注释报错问题...

    解决Notepad++编写的Java程序在cmd窗口编译时中文注释报错问题 解决Notepad++编写的Java程序在cmd窗口编译时中文注释报错问题 在刚开始学习Java的过程中,考虑到记事本应用没 ...

最新文章

  1. 线程堆栈大小 pthread_attr_setstacksize 的使用
  2. 算法(第4版)学习笔记
  3. 矩形变弧度角_在上海做下颌角整形这些医生错过后悔都来不及,案例分享
  4. 紫金农商银行java面试_【应届本科生求职】我的南京紫金农商行面试之路
  5. springboot中使用poi导出excel文件(亲测实现了第一个功能)
  6. 【Android】如何查看android cpu是32位还是64位
  7. 创建maven项目,配置maven地址
  8. 应用程序利用ADO对象访问数据库
  9. mysql交换分区_对MySQL交换分区的实践
  10. 【Kindle】pdf转mobi适合kindle查看格式
  11. iPad——添加学校邮箱到邮件解决方案
  12. 倒不过的“饮食时差”,减肥路上的最大阻碍?
  13. java 读取图片_用java读取图片的三种方式
  14. 三次函数的对称中心问题
  15. 英语词根词缀记忆法(全集)_掌握了英语词根词缀,就能迅速记下单词,快速提升词汇量...
  16. 分析散户如何去做好股票程序化交易?
  17. Ios端直播商城源码开发之实现全屏直播功能
  18. Vue报错:implicitly has an ‘any‘ type解决方法
  19. 如何一键解决图片无损放大
  20. continue 的用法详解

热门文章

  1. @Dan Abramov:我的十年回顾
  2. 【JAVA】逢三退一的第二种思路(面向对象)
  3. 青柠起始页样式书写+清新风格登录界面——Html+Css+JavaScript
  4. 如何通过三视图判断立方体个数_中考难点,由三视图确定小立方体个数的问题求解有策略...
  5. android应用中为按键添加声音
  6. linux中ifconfig无法显示ip地址
  7. 由一道竞赛题再论电介质受力和静电场能量问题
  8. 如何提拔骨干及挑选接班人
  9. 【JSON快速入门】使得XML被人们淘汰的技术,你还不知道?
  10. 线下广告投放方案_线下推广方式有哪些?