百度翻译接口
来源:互联网 发布:社交网络 360云盘 编辑:程序博客网 时间:2024/06/05 06:54
- public class TranslateAcy extends Activity implements OnClickListener {
- private String BaiduTrans = "http://openapi.baidu.com/public/2.0/bmt/translate";
- private String Client_id = "S7874h7McC7avmbWtPFkCOgc";
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_main);
- initView();
- }
- public void initView() {
- findViewById(R.id.btn_trans).setOnClickListener(this);
- }
- private Handler insHandler = new Handler() {
- @Override
- public void handleMessage(Message msg) {
- // TODO Auto-generated method stub
- switch (msg.what) {
- case 0:
- String word = msg.getData().getString("word");
- ((EditText) findViewById(R.id.et_second)).setText(word);
- break;
- default:
- break;
- }
- }
- };
- /**
- * 翻译
- */
- private void transEnTo() {
- // path: http://fanyi.baidu.com/#en/zh/
- String putword = ((EditText) findViewById(R.id.et_first)).getText()
- .toString();
- try {
- // 对中文字符进行编码,否则传递乱码
- putword = URLEncoder.encode(putword, "utf-8");
- URL url = new URL(BaiduTrans + "?client_id=" + Client_id + "&q="
- + putword + "&from=auto&to=zh");
- URLConnection con = url.openConnection();
- con.connect();
- InputStreamReader reader = new InputStreamReader(
- con.getInputStream());
- BufferedReader bufread = new BufferedReader(reader);
- StringBuffer buff = new StringBuffer();
- String line;
- while ((line = bufread.readLine()) != null) {
- buff.append(line);
- }
- // 对字符进行解码
- String back = new String(buff.toString().getBytes("ISO-8859-1"),
- "UTF-8");
- String str = JsonToString(back);
- Message msg = new Message();
- msg.what = 0;
- Bundle bun = new Bundle();
- bun.putString("word", str);
- msg.setData(bun);
- insHandler.sendMessage(msg);
- reader.close();
- bufread.close();
- } catch (Exception e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- }
- /**
- * 获取jsoon中翻译的内容
- *
- * @param jstring
- * @return
- */
- private String JsonToString(String jstring) {
- try {
- JSONObject obj = new JSONObject(jstring);
- JSONArray array = obj.getJSONArray("trans_result");
- obj = array.getJSONObject(0);
- String word = obj.getString("dst");
- return word;
- } catch (JSONException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- return "";
- }
- /**
- * 访问网络线程
- */
- private void tranThread() {
- new Thread() {
- public void run() {
- transEnTo();
- };
- }.start();
- }
- @Override
- public void onClick(View v) {
- // TODO Auto-generated method stub
- switch (v.getId()) {
- case R.id.btn_trans:
- tranThread();
- break;
- default:
- break;
- }
- }
- }
- 运行效果:
说明:
1.我这里使用了自动识别,所以可以中英文互译。其规则:
2.用get请求发送中文的时候,需要转码,开始的时候以为百度提供的接口,就没考虑那么多,其实是需要你处理的。- 自动识别的规则
- 当源语言为非中文时,目标语言自动设置为中文。当源语言为中文时,目标语言自动设置为英文。
- 如下例:
- 1)源语言识别为中文,则翻译方向为“中 -> 英”
- 2)源语言识别为英文,则翻译方向为“英 -> 中”
- 3)源语言识别为日文,则翻译方向为“日 -> 中”
- // 对中文字符进行编码,否则传递乱码
- putword = URLEncoder.encode(putword, "utf-8");
0 0
- 百度翻译接口
- 百度翻译接口
- 百度翻译C#API接口
- python调用百度翻译接口
- 百度翻译接口JAVA版
- (java 功能代码) 百度翻译接口
- C#调用百度翻译接口小程序
- php 百度翻译接口 脚本执行
- 调用百度翻译机器人接口纯代码
- python3调用百度翻译接口样例
- python自动化接口测试(百度翻译)
- 用java多线程实现“百度翻译接口API快速翻译”
- QtQuick2实现英汉翻译--后台调用百度翻译接口
- java微信开发,百度翻译最新接口使用
- AppInventor读取百度翻译接口(韩语立刻说)
- 使用c通过HTTP接口使用百度翻译API
- 调用百度翻译接口demo(完整ajax请求)
- 百度翻译
- drupal7 使用(hook_preprocess_HOOK)向各个主题模版里面传递变量
- Hive Server 2 调研,安装和部署
- 探讨建筑屋面板运用的基本要求
- How to Create a Framework for iOS
- Python函数式编程指南(二):函数
- 百度翻译接口
- 开源架构链接汇总
- 最全的c++ map的用法
- QT下的一种dll的加载方法
- 根据需要对控件进行隐藏
- 11. JAVA常用类库 Part 2 (System类、日期操作类) ----- 学习笔记
- android开源项目和框架
- Codeforces Round #FF (Div. 2) 447B DZY Loves Strings
- Chrome win7下 扩展目录