免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2083 | 回复: 0
打印 上一主题 下一主题

simple Google Translate in android [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-01-08 10:50 |只看该作者 |倒序浏览

simple Google Translate in android
一个简单的调用google翻译的服务的程序。
原理很简单:
提交Http请求
http://ajax.googleapis.com/ajax/services/language/translate?v=1.0&q=hello&langpair=en%7Czh-CN
获得回应{"responseData": {"translatedText":"喂"}, "responseDetails": null, "responseStatus": 200}从中读取翻译结果

   


  


主要代码如下:
private HttpUriRequest request = null;
    private HttpResponse resp = null;
    private BufferedReader br = null;
    private DefaultHttpClient client = new DefaultHttpClient();
......
//,网络延迟比较大,要将此段代码放到线程中。
String url = "
http://ajax.googleapis.com/ajax/services/language/translate?v=1.0&q=
[color="#3366ff"]"+ s + "&langpair="+mFirst+"%7C"+mEnd;
        try {//要将空格回车换了
            url = url.replaceAll(" ", "%20");
            url = url.replaceAll("\n", "%20");
//要换成回车的码,我不知道是什么,谁知道告诉我吧
            url = url.replaceAll("\t", "%20");
//我本想使用UrlEncode来转换,没成功,遇到空格,就停了
            request = new HttpGet(url);
            resp = client.execute(request);
            HttpEntity entity = resp.getEntity();

            br = new BufferedReader(new InputStreamReader([color="#ff0000"]entity.getContent()));
            String result = br.readLine();
            Log.e(TAG, result);
         //下面是提取翻译结果,
            // int start = mString.indexOf(":",18);
            int end = result.indexOf("}");
            mString = result.substring(36, end - 1);
               
               
               

本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/29351/showart_1782283.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP