- 5
- 0
- 约8.66千字
- 约 38页
- 2017-11-12 发布于广东
- 举报
3.3 按钮控件的功能与使用方法 数据返回格式 数据返回格式 { “from”:”zh”, “to”:”en”, “trans_result”:[] } 参数 from 实际采用的源语言 to 实际采用的目标语言 trans_result 翻译结果,其内容由若干个数组组成,每个数组都为一段翻译结果,其中src表示翻译的原文,dst表示翻译的结果。 { “src”:””, “dst”:”” } GET请求实例 { “from”: “en”, “to”: “zh”, “trans_result”: [ { “src”: “today”, “dst”: “今天” }, { “src”: “tomorrow”, “dst”: “明天” } ] } 11.5百度实时翻译的实现 以上面便是百度翻译服务的使用方法,那么对于Android程序来说主要完成的就是两方面的工作,一个是向服务器的提交翻译请求,另一个则是从服务器上获取翻译结果,并显示在屏幕中,如图11-8所示。在前面章节中说过在Android 3.0以后所有耗时操作都必须放在线程中完成,如网络数据访问,因此在本模块最重要的就是网络交互的线程代码,具体代码如下: 图11-8 百度翻译 11.5百度实时翻译的实现 1 public void run() { 2 // TODO Auto-generated method stub 3 // HTTP GET操作对象 4 HttpGet httpGet = new HttpGet(getTranslateURL(mSrcText, mTranslateIndex)); 5 HttpClient httpClient = new DefaultHttpClient(); 6 try { 7 HttpResponse httpResponse = httpClient.execute(httpGet); 8 if (httpResponse.getStatusLine().getStatusCode() 9 == HttpStatus.SC_OK) { 10 String translateData = EntityUtils.toString(httpResponse 11.5百度实时翻译的实现 11 .getEntity()); 12 // 把数据放到消息中发送给主线程 13 Message msg = new Message(); 14 Bundle data = new Bundle(); 15 data.putString(TRAN_DATA, translateData); 16 msg.setData(data); 17 mTranslateHandler.sendMessage(msg); 18 } 19 } catch (ClientProtocolException e) { 20 // TODO Auto-generated catch block 21 e.printStackTrace(); 22 } catch (IOException e) { 11.5百度实时翻译的实现 23 // TODO Auto-generated catch block 24 e.printStackTrace(); 25 } 26 } 第4行中的getTranslateURL( )函数是一个自定义函数,用于获取完整GET操作地址,并通过这个地址初始化HttpClient工具中的HttpGet对象,该对象负责执行与云服务之间的GET操作。 第5行代码用于创建一个HttpClient对象,该对象通过执行HttpGet对象从而最终实现与云服务的交互。 第8、9行用于判断云服务返回的状态码,当返回结果为200时表示云服务响应正确。 第10行是从服务器返回的数据中提取所需内容,然后发送给主线程进行下一步处理。 11.5百度实时翻译的实现 当线程把数据返回后接下来就是解析这些数据和展示数据,数据解析的代码如下: 1 private String parseTranslateData(String translateData) { 2 // TODO Auto-generated method stub 3 String resData = ; 4 try { 5 JSONObject translateRes = new JSONObject(transl
您可能关注的文档
- Access数据库基础教程课件作者刘东刘丽第2章节数据库和数据表.ppt
- Access数据库基础教程课件作者刘东刘丽第4章节-窗体.ppt
- Access数据库基础教程课件作者刘东刘丽第5章节报表的创建和操作.ppt
- Access数据库技术及应用课件作者吕英华第1章节数据库基础知识.ppt
- Access数据库技术与应用课件作者黄秀娟主编第7章节窗体对象功能设计.ppt
- Access数据库技术与应用课件作者黄秀娟主编第8章节报表对象的设计.ppt
- Access数据库技术与应用课件作者黄秀娟主编第9章节_数据访问页设计.ppt
- Access数据库技术与应用课件作者黄秀娟主编第10章节宏对象设计.ppt
- Access数据库技术与应用课件作者黄秀娟主编第11章节_数据库系统的集成 安全与发布.ppt
- 产品改良设计-电子教案-唐智06第三章节寻点网格画法1章.ppt
原创力文档

文档评论(0)