android google翻译,在android中施用google翻译

在android中使用google翻译

package com.eg.android.test;

import java.io.BufferedReader;

import java.io.IOException;

import java.io.InputStream;

import java.io.InputStreamReader;

import java.net.HttpURLConnection;

import java.net.URL;

import java.net.URLEncoder;

import org.json.JSONObject;

import android.util.Log;

public class Translate {

private static final String TAG = "Translate";

private static final String ENCODING = "UTF-8";

private static final String TRANS_URL = "http://ajax.googleapis.com/ajax/services/language/translate?v=1.0&q=";

private static final String LANGPAIR_TEXT = "&langpair=";

private static final String LANGPAIR_SEPARTOR = "%7C";

public static String retrieveTranslation(String text, String from, String to) {

String result = null;

HttpURLConnection conn = null;

try {

StringBuilder strBuilder = new StringBuilder();

String url = strBuilder.append(TRANS_URL)

.append(URLEncoder.encode(text, ENCODING))

.append(LANGPAIR_TEXT).append(from)

.append(LANGPAIR_SEPARTOR).append(to).toString();

Log.d(TAG, "Connecting to " + url);

conn = (HttpURLConnection) new URL(url).openConnection();

String respStr = getResponseString(conn.getInputStream());

JSONObject json = new JSONObject(respStr);

result = ((JSONObject) json.get("responseData"))

.getString("translatedText");

} catch (Exception e) {

Log.e(TAG, "translation fail!!");

} finally {

try {

if(conn != null) {

conn.getInputStream().close();

if (conn.getErrorStream() != null)

conn.getErrorStream().close();

}

} catch (IOException e) {

e.printStackTrace();

}

}

return result;

}

private static String getResponseString(InputStream inputStream) {

StringBuilder outputBuilder = new StringBuilder();

BufferedReader reader = null;

try {

String str = null;

if (inputStream != null) {

reader = new BufferedReader(new InputStreamReader(inputStream,

ENCODING));

while ((str = reader.readLine()) != null) {

outputBuilder.append(str);

}

}

} catch (Exception e) {

Log.e(TAG,"[google-api-translate-java] Error reading translation stream.");

} finally {

try {

if (reader != null)

reader.close();

} catch (IOException e) {

e.printStackTrace();

}

}

return outputBuilder.toString();

}

}

String res = Translate.retrieveTranslation("将这行中文翻译为英文", "zh-CN", "en");

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值